linux手工笔记

时间:2021-09-18 19:25:00

一、vi编辑器常用命令:

--------------------------------

•插入文字:I键A键

•退回命令模式:ESC

•存盘:w

•不存盘退出:q

•存盘退出:wq

•强制退出:q!

•强制存盘退出: wq!

删除一行文字dd

在VI模式下查找字符串 例如查找servername,表示如下  :/servername    //查找servername字符串,按n查找下一个。

 查看系统版本:lsb_release –a

二、常用命令

-------------------------------

find命令: 文件的查找

find命令在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。(find命令后的“/”表示搜索整个硬盘)

–语法:find 起始目录寻找条件操作

Eg : find test*.txt

 eg: locate test*.txt    locate命令作用和find一样,但查找速度要比find快的多。

Eg:  find / -name "test"   它将寻找整个文件系统中的名为test 的文件

Eg: find /etc name smb.conf  根据文件格式来用路径来查找

 

Eg : find –atime -3  //查找72小时内修改过的文件,其中-atime24小时制。

Eg : fine –amin -3  //查找3分钟内修改过的文件,其中-amin单位为min

 

Grep命令:文件内容的查询

Eg : grep “hello” test1.txt

 

 

‘|’ 管道命令:第一个命令的输出会通过管道传给第二个命令而作为第二个命令的输入
eg : cat text1.txt | grep hello

‘>’ 输出重定向命令:输出重定向使你能把一个命令的输出重定向到一个文件里。

Eg: ls > 1.txt

 

alias别名:用来减少键盘输入

eg :假如为这个长命令建立一个名为goconfig的别名,在bash提示符下键入如下命令:
alias goconfig='cd /usr/X11/lib/X11/fvwm/sample-configs'

unalias goconfig  --取消别名

wc命令: wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。

(- c 统计字节数。  - l 统计行数。  - w 统计字数。)

Eg: wc –lcw test.txt

 

关机命令:halt或者shutdown –h –now

重启命令:reboot 或者shutdown –r now

注意这两个命令都需要指定时间。您可以指定 "now" 或使用带有时间秒数的 -t 选项

Comm命令: 文件比较命令

语法:comm [- 123 ] file1 file2

选项1、2或3抑制相应的列显示。例如comm - 12就只显示在两个文件中都存在的行;comm - 23只显示在第一个文件中出现而未在第二个文件中出现的行;comm - 123则什么也不显示。

参数说明:-1  :文件1独有的行不显示

-2  :文件2独有的行不显示

-3  :文件1和文件2共有的行不显示。

Diff命令: 该命令的功能为逐行比较两个文本文件,列出其不同之处。它比comm命令完成更复杂的检查。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。

语法:diff [选项] file1 file2

Eg : diff –ruN test1 test2 >test3.diff  //比较test1,test2两个文件,并生成test3.diff差异文件。

cat命令: 命令用于连接并显示指定的一个和多个文件的有关信息。

-n:由第一行开始对所有输出的行数编号。

-b:和-n相似,只不过对于空白行不编号。

Head/tail查看文件的方法

如果你只想看文件的前5行,可以使用head命令,如:
eg: head -5 /etc/passwd

Eg : head –n 10 file.txt   #显示文件的前10行。

如果你想查看文件的后10行,可以使用tail命令,如:
eg : tail -10 /etc/passwd

Touch命令:改变文件或者目录的存取时间,当没有该文件时,则新建该文件。

Eg: touch test1.txt

 

 

Export命令:设置或显示环境变量

语法:export [-fnp][变量名称]=[变量设置值]

Uname命令:显示系统信息。(cat /proc/version 命令也可以查看linux版本信息)

语法:uname [-amnrsv][--help][--version]

参数:

-a 或--all 显示全部的信息。

-m 或--machine 显示电脑类型。

-n 或-nodename 显示在网络上的主机名称。

-r 或--release 显示操作系统的发行编号。

-s 或--sysname 显示操作系统名称。

-v 显示操作系统的版本。

Free命令:显示内存状态.

语法: free [-bkmotV][-s <间隔秒数>]

参数:

-b 以Byte 为单位显示内存使用情况。

-k 以KB 为单位显示内存使用情况。

-m 以MB 为单位显示内存使用情况。

-o 不显示缓冲区调节列。

-s<间隔秒数> 持续观察内存使用状况。

-t 显示内存总和列。

-V 显示版本信息。

Eg : free    #显示内存的使用信息

Eg :free –t             #以总和的形式显示内存的使用信息

Eg :free –s 5        #周期性的显示内存使用信息,本例5秒钟显示一次内存信息。

useradd命令:增加一个系统用户。

常用参数用法(-g,-r,-d)

Eg: useradd testuser                     #添加一个一般用户testuser

Eg : useradd –g root testuser             #添加用户testuser,并指定用户所在的组在root用户组.

Eg : useradd –r testuser        #添加一个系统用户testuser

Eg : useradd –d /home/myfile testuser   #添加一个用户为testuser,其Home目录为/home/myfile

Passwd命令:设置用户密码。

Eg :passwd testuser              #设置testuser用户密码。

Eg:passwd –d testuser   #删除testuser用户密码。

Fc命令:可以编辑曾经执行过的指令,并以批处理的形式让这些指令得以重新执行。

主要参数:-l  ---列出第一个指令和最后一个指令之间所有的指令。

-n   --不显示编号。

Finger指令:查找并显示用户信息

Eg:finger –l   #列出当前登录用户的相关信息.

 

Hostname命令:显示主机名称

Eg : hostname           #显示本机名称

Eg : hostname zhoujinjian          #更改本机名称为zhoujinjian

Gedit命令:gnome文本编辑器。

Eg : gedit file.txt

 

 

More命令:显示文本信息。

按“空格”键下翻一页,按“b”上翻一页。

Eg : more file.txt

 

Chgrp命令:改变文件或者目录所属的群组。

Eg : chgrp –v usergroup1 file  //改变file文件的群组为usergroup,其中-v为运行时的处理信息过程。

Ll命令:显示当前文件夹下的所有文件详细信息。

Chmod命令:设置文件或者目录的权限。

语法:chmod [-R] xyz 文件或目录。(如果要连目录下的所有次目录或文件同时更改文件权限的话,直接加上 -R)

Eg : chmod 777 1.log    //设置文件1.log具有所有权限。
eg : chmod ug+rw 1.log  //设置文件1.log具有读写权限。

Chown命令:改变文件的拥有者或者群组。(事实上,chown也可以使用『chown user.group file』,亦即在拥有者与群组间加上小数点『.』也行! 不过很多朋友设定账号时,喜欢在账号当中加入小数点(例如vbird.tsai这样的账号格式),这就会造成系统的误判了! 所以我们比较建议使用冒号『:』来隔开拥有者与群组啦!此外,chown也能单纯的修改所属群组呢! 例如『chown .sshd install.log』就是修改群组~看到了吗?就是那个小数点的用途!)

语法:chown [-R] 账号名称  文件或目录

Chown [-R] 帐号名称:组名  文件或目录

Eg : chown testuser 1.log  //改变1.log用户为testuser。

Eg :chown root:root 1.log    //改变1.log用户为kk,,用户群组为kk.。

(如果要连目录下的所有次目录或文件同时更改文件拥有者的话,直接加上 -R)

Cmp命令:比较文件差异。

Eg :cmp –l test1 test2   //显示两个文件所有的不同信息。

Date命令:查看或者修改系统当前时间。

Eg : date //显示当前日期

Eg : date -s “12:12:23 2006-10-10〃 //这样可以设置全部时间

修改Linux的时间
修改Linux时间一般涉及到3个命令: date, clock, hwclock
date: 修改系统当前的时间:

[root]#date –s ‘2005/12/5 10:01:00
系统当前的时间改成2005年12月5日,10点01分

这个修改在系统重启后就失效了,因此为了将这个时间永久生效,需要将修改的时间写入CMOS。
看CMOS的时间:
#clock –r

将当前系统时间写入CMOS中去
#clock –w

实例:设置时间伟2008年8月8号12:00 
# date -s "2008-08-08 12:00:00"

修改完后,记得输入:clock -w 
把系统时间写入CMOS

Rpcinfo 命令:可以使用 rpcinfo 列出远程计算机上的程序。

Eg : rpcinfo –p   //列出指定主机上使用端口映射器注册的所有程序。如果不指定节点(计算机)名称,程序在本地主机上查询端口映射器。

getconf  LONG_BIT :查看系统位数.

三、进程管理

---------------------------

ps命令:ps 命令是最基本同时也是非常强大的进程查看命令

 使用带有 -ef 选项的 ps,返回系统中所有用户的所有进程的完整列表。如果您将此 ps 命令的结果传送到 grep 中,则该结果更易于查看。

Eg : ps -ef | grep oracle

Eg : ps – aux

top命令:top命令提供了实时的对系统处理器的状态监视。

Eg : top –n 2   #设置更新次数,本例指定更新次数为2,更新两次后,命令终止。

Eg : top –d 3   # 指定更新周期为3秒,每3秒更新一次数据。

kill命令:通过向进程发送指定的信号来结束进程的(-9 强行杀掉指定进程)

挂起进程:  按下 Ctrl-Z 使一个运行的进程挂起

Bg命令:bg 命令使一个被挂起的进程在后台恢复运行。

fg命令:fg使一个被挂起的进程在前台继续执行。

export命令: 使变量的值对当前shell的所有子进程都可见 。

四、应用软件包安装

---------------------------------

Tar.gz

第一步:tar xvf file.tar.gz

第二步:./configure

第三步:Make(–当前目录下找寻Makefile这个档案,然後依照Makefile 中所记录的步骤一步一步的来执行)

第四步:make install

第五步:make clean

 

Gzip命令:压缩,解压命令 ,目前 gzip 可以解开 compress, zip 与 gzip 等软件所压缩的文件。 至於 gzip 所创建的压缩档为 *.gz 的档名!

语法: gzip [-cdtv#] 文档名

Eg : gzip –v install.log  //压缩install.log文件。

Eg: zcat install.log.gz  //由于install.log.gz是文档档内容,可通过zcat将其内容读出来。(zcat 则可以读取纯文字档被压缩后的压缩档!)

Eg : gzip –d install.log.gz   //解压缩Install.log.gz文件。

Eg : gzip -9 –c install.log > install.log.gz //用最佳的压缩来压缩,并保留原文件。

Bzip2命令:压缩,解压命令。

语法: gzip [-cdkzv#] 文档名

Eg : bzip2 –z install.log  //将install.log压缩成install.log.bz2.

Eg: bzcat install.log. bz2  //由于install.log. bz2是文档档内容,可通过zcat将其内容读出来。(bzcat 则可以读取纯文字档被压缩后的压缩档!)

Eg : bzip2 –d install.log. bz2  //解压缩Install.log. bz2文件。

Eg : bzip2 -9 –c install.log > install.log. bz2//用最佳的压缩来压缩,并保留原文件。

打包命令: tar

压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称

查 询:tar -jtv -f filename.tar.bz2

解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

Eg : tar –czvf kk.tar.gz kk  //压缩kk文件为kk.tar.gz.

Eg : tar –tzvf kk.tar.gz  //列出压缩文件kk.tar.gz的内容信息.

Eg :tar –xzvf kk.tar.gz   //解压缩kk.tar.gz文件。

RPM

rpm -ivh rpm包     -- 安装rpm包  (--nodeps 强制安装)

•rpm -Uvh rpm包    --升级rpm包

•rpm -ev rpm包       --删除rpm包并显示卸载过程中的详细信息

•rpm -qi 包名称     -- 显示安装包的信息

•rpm –ql 包名称    -- 包中的文件列表

Eg : rpm qa | grep gcc  //查询系统是否安装有gcc软件。

 

常用参数:

点评:安装软件包 rpm  -i 包全名 删除 rpm -e name(不是包名) 参数 -ivh 获得一个详细的安装进程 --nodeps 忽略依赖关系 --force 强制安装 -U 包名:升级安装 -F 更新不管是什么直接覆盖 --replacepkgs这样 RPM 将忽略该错误信息 -vih --repla-

安装软件包

rpm  -i 包全名

删除

rpm -e name(不是包名)

常用参数:

-ivh 获得一个详细的安装进程

--nodeps 忽略依赖关系

--force 强制安装

-U 包名:升级安装

-F 更新不管是什么直接覆盖

--replacepkgs这样 RPM 将忽略该错误信息 -vih --replacepkgs

-q name :查询

-qa查询所有已安装的RPM

-qi name 查询这个软件详细信息

-ql 显示列表

-qf path  :查询一个文件属于哪个包

-qp 包名 :查文件是什么

-qpl 包名 :针对一个没装过的包

 

五、磁盘管理

------------------------------

Df命令: 检查文件系统的磁盘空间占用情况

Eg : df  //显示当前磁盘的使用情况。

Eg : df h  //显示磁盘容量。

du命令:统计目录(或文件)所占磁盘空间的大小。

 

du 命令提供对每个目录的文件空间使用情况的评估。在默认情况下,测量的单位是块的数目,块的大小通常在安装您的系统时确定。(-h 选项以易于读懂的形式提供大小的值)

Eg : du –h

 

du 报告目录和子目录的空间使用情况,而 df 报告已安装文件系统的磁盘空间使用情况:

Eg: df –h

 

fdisk 命令 如果指定了 -l 选项,则可以将它仅用于报告的目的它提供了您的整个分区表的完整视图,而不仅仅是您使用 df 所看到的扩展 Linux 分区

Eg: fdisk –l

 

Mount命令: 磁盘挂载与卸除

Eg : mount –l   //查看目前已经挂载的文件系统。

1、 挂载 CD 或 DVD 光盘

Eg : mount –t iso9660 /dev/cdrom  /media/cdrom //–t iso9660指定光盘格式来挂载。

Eg : mount /dev/cdrom /media/cdrom  //挂载时当提示文件系统为只读时,执行下一步
Eg: mount -o remount,rw,auto /dev/cdrom /media/cdrom/  //重新挂载:mount -o remount,rw,auto

Eg : umount /media/cdrom  //将装置文件卸除。

磁盘

–mount /dev/floppy /mnt/floppy

–umount /dev/floppy /mnt/floppy

光盘

–mount /dev/cdrom /mnt/cdrom

–umount /dev/cdrom /mnt/cdrom

•USB

–fdisk -l /dev/sda

–mkdir /mnt/usb

–mount -t vfat /dev/sda2/mnt/usb

–ls /mnt/usb

–umount /dev/sda2

(提示:执行mount和umount操作时,请不要在挂载目录中进行操作)

 

六、网络管理

-------------------------------------

Hostname     –查看主机名称

ifconfig    –查看和设置网络配置

–ifconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127

ping       –ping命令用于查看网络上的主机是否在工作

Eg: ping  -c 6 www.baidu.com   //检查www.baidu.com是否存在,且接收包的次数为6次。

Eg : ping –i 3 –s 1024 –t 255 www.baidu.com //检查www.baidu.com是否存在,发送包的间隔为3秒,发送包的大小为1024字节,TTl的值为225。

•route –n      –用来产生和修改路由表

netstat       –显示网络连接、路由表和网络接口信

Eg :netstat –a  //显示详细的网络状况。

Eg : netstat –apu   //显示UDP端口使用状况。

Eg : netstat –s  //显示网络信息统计。

Netconfig      –设置IP、子网掩码、网关、主DNS

service network restart    重起网络服务使修改生效

七、Shell编程

1、程序必须以下面的行开始(必须方在文件的第一行):
#!/bin/sh

符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序

2、 当编辑好脚本时,如果要执行该脚本,还必须使其可执行

chmod +x filename

3、然后,您可以通过输入: ./filename 来执行您的脚本。

Eg:

#!/bin/sh
#对变量赋值:
a="hello world"
# 现在打印变量a的内容:
echo "A is:"
echo $a    ( 取出变量值可以加一个美元符号($)在变量前面)

八、常用技巧:

1、Linux 用户身份与群组记录的文件: 默认的情况下,所有的系统上的账号与一般身份使用者,还有那个root的相关信息, 都是记录在/etc/passwd这个文件内的。至于个人的密码则是记录在/etc/shadow这个文件下。 此外,Linux所有的组名都纪录在/etc/group内!这三个文件可以说是Linux系统里面账号、密码、群组信息的集中地啰!

2、如果已經進入xwindow可以是使用init 3命令進入console模式;可以使用ctrl+alt+f1~f6切換控制臺,ctrl+alt+f7為重新到xwindow;如果要使下次開機就進入console模式就編輯/etc/inittab id:5:initdefault中的5改爲3

启动图形界面startx,退出图形界面Ctrl+Alt+BackSpace

在命令终端中输入init 3可临时进入到命令行模式,输入init 5可临时进入图形界面。

3、各种接口的磁盘在Linux中的文件名分别为:

/dev/sd[a-p][1-15]:为SCSI, SATA, U盘, Flash闪盘等接口的磁盘文件名;

/dev/hd[a-d][1-63]:为 IDE 接口的磁盘文件名;

 4、将英文版linux系统设置成中文显示。(如下中文显示设置后,可自带拼音输入法)

1.修改/etc/sysconf/i18n文件,把  LANG="en_US.UTF-8"   修改成:  LANG="zh_CN.UTF-8"

2.修改/etc/X11/xinit/xinitrc.d/xinput.sh文件,把其中一行:

lang_region=$(echo $tmplang | sed -e 's/\..*//')

修改成:

lang_region=”zh_CN”

3,重新启动图形界面,就可以用英文的界面并且正确显示中文和输入中文。

5Redhat 5中文显示为乱码解决方法:

有很多人说vi /etc/sysconfig/i18n文件,其实根本就没有那个必要。

解决方法:

安装

1、fonts-chinese-3.02-9.6.el5.noarch.rpm.  如果无法安装,则加个--force

2、fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm

多数人到了这里就没有做其它操作了,导致仍然无法正确显示中文。

3、cd /usr/share/fonts/

4、fc-cache -fv  #     //更新字体缓存

以上的两个步骤,才是成功完成的关键!所以这里要特别注意!重新启动系统即可