在使用Linux操作系统的过程中,我们经常要用到一些特殊的命令,不仅显示了技术的高超,而且在效率方面当然要比图像化界面高很多,下面我总结了一些常见的Linux命令,供以后学习使用,使用命令时,在命令后面加参数“--help”或者用“man 命令”可以取得命令的详细用法。
(*)小常识:在Linux中使用命令操作文件时,可以仅输入文件名的前几个字符,然后按键盘的“Tab”键补全文件名的后面部分,若输入的字符是多个文件名的起始字符,则系统列出这些文件。 按键盘上的“↑”、“↓”键,可以翻阅以前使用过的命令,也可以输入命令“history”查看以前使用过的命令。
一、文件类
1.pwd
显示当前工作目录。该命令无参数,直接输入命令pwd回车,会显示当前的工作目录。
2.cd
进入指定目录。cd命令格式为:cd [路径],其中路径可以为相对路径或者绝对路径。举例如下:
cd /home/user //进入/home/user目录。
cd data/doc //进入当前目录下的子目录data的子目录doc。
cd / //退回到根目录。
cd .. //退回到上级目录,当前目录为根目录时,该命令执行不会改变当前目录。
cd ~ //进入用户家目录,若当前用户为user,则进入目录/home/user中。
cd //cd命令后无参数时,其功能与命令“cd ~”相同。
cd ~test //进入用户test的家目录/home/test。
3.ls
列出指定目录或者当前目录下的文件名。ls是用户最常用的命令之一,因为用户经常需要查看某个目录下有哪些文件。
ls命令格式为:ls [选项] [文件名列表],其中选项是对ls命令要执行功能的进一步说明,文件表示要显示的文件名。
(1)选项
-l:每行显示一个文件的详细信息,称为以长格式显示,该选项最常用。若不加该参数,ls将在一行中显示多个文件名,并以不同颜色来标记不同类型的文件。
使用举例:
ls //以每行多个文件名的方式,列出当前目录所包含的文件名。
ls –F /home/bright /var //分别列出目录/home/bright和/var所包含的文件名,并在文件名后用指定字符指出文件的类型,例如*代表可执行文件。
ls -aF/home/bright //以带标记的形式列出目录/home/bright所包含的全部文件名,包括隐藏文件。
ls -laF/home/bright //以带标记的长格式列出目录/home/bright所包含的全部文件名,包括隐藏文件。
ls -laFin /home/bright //在上面命令的基础上,首列显示iNode号,并且把文件属主和属组以UID号和GID号的形式显示。
4.mkdir和touch
mkdir:用于创建文件夹,在命令行后面直接跟所要创建的文件夹即可
mkdir MyHistory //生成目录名为MyHistory的目录
mkdir -p a/b/c/d/e //在目录中创建多级目录a/b/c/d/e
touch:用于直接创建文件,可以不填写内容,直接跟文件名
touch hello.c //生成hello.c文件,内容为空
touch 1.txt 2.txt 3.txt //同时创建多个文件,文件内容为空
5.cp
cp命令的功能是将给出的文件或目录拷贝到指定的文件或目录中。
cp命令的格式为:cp [选项] 源文件 目标文件,其中选项是对cp命令要执行功能的进一步说明,源文件表示要复制的文件,目标文件表示源文件将被复制的目的目录名或者目的文件名。
(1)选项
-a:该选项通常在拷贝目录时使用,它保留链接、文件属性,并递归地拷贝子目录中的内容,其作用等于dpr选项的组合。
-d:拷贝时保留链接。
-p:除复制源文件的内容外,还将把其最后修改时间和访问权限也复制到目标文件中。
-r:若源文件是目录文件,cp将递归复制该目录下所有的子目录和文件,目标文件名必须为一个目录文件名。
-l:不作拷贝,只是链接文件。
(2)使用举例
cp1.txt /home/bright/2.txt //将当前目录中的文件1.txt复制到目录/home/bright/中,文件名为2.txt。
cp -r /home/bright/cml /home/bright/yxj //将/home/bright/cml目录中的所有文件及其子目录拷贝到目录/home/bright/yxj中。
cp /home/user/*.txt//将/home/user/目录下以.txt为后缀的文件复制到当前目录中。
cp -r a b c //其中a,b ,c均为目录,此命令行的意思是将a和b复制到c
6.mv
mv命令能够将指定文件或目录改名或将指定文件或目录进行移动。mv命令中若源文件名与目标文件名处于同一个目录中,则执行文件改名功能;若源目录文件名与目标目录文件名处于同一个目录中,则执行目录改名功能;其余情况执行文件或者目录移动功能。在跨文件系统移动文件或目录时,先执行拷贝文件或目录功能,再将原有文件或目录进行删除,同时,链接至该文件的链接也将丢失。
mv命令的格式为:mv [选项] 源文件 目标文件,其中选项是对mv命令要执行功能的进一步说明,源文件表示要移动或改名的文件,目标文件表示要将源文件移动到何处或改为新的名字。
(1)选项
-i:交互方式操作,如果mv操作将导致对已存在目标文件的覆盖,则系统要求用户回答“y”进行文件覆盖或“n”放弃覆盖。
-f:禁止交互操作,在mv操作要覆盖已有的目标文件时不给任何提示而直接覆盖目标文件。
-u:只有在源文件比目标文件新,或者目标文件不存在时,才执行移动功能。
(2)使用举例
mv /home/user/data/ /var/tmp //将/home/user/data/目录移动到/var/中,目录名变更为tmp。
mv /home/user/1.txt /var/tmp/1.txt //将文件/home/user/1.txt移动到目录/var/tmp/中,文件名为1.txt。
mv /home/user/2.txt 20.txt //将文件/home/user/2.txt重命名为20.txt,文件的位置不变。
mv a b d //其中a,b ,d均为目录,此命令行的意思是将a和b移动到d目录
7.rm
Linux系统中随时会有文件或者目录变得过时且毫无用处,此时可以用rm命令将过时文件或者目录删除。该命令可以一次删除一个或多个文件或目录,对于链接文件,只是删除链接,原有文件保持不变。
rm命令的格式为:rm [选项] 文件,其中选项是对rm命令要执行功能的进一步说明,文件表示要删除的文件名。
(1)选项
-f:删除过程中直接删除指定的文件或子目录而不需要进行确认。
-r:将指定的目录及其子目录递归地删除,删除时需要用户确认。
-i:删除文件或者目录前进行确认,输入y或者yes进行删除,输入n或者no或者其它字符则放弃删除。
(2)使用举例
rm /home/user/20.txt //删除目录/home/user/下的文件20.txt
rm –r /var/tmp/ //以递归形式删除目录/var/tmp/及其包含的文件和子目录。
rm -i a* //以交互确认的形式删除当前目录下以字符a开头的文件。
rm –r -f /home/user/tmp/ //以递归方式删除目录/home/user/tmp/及其所包含的文件和子目录,删除过程中不需要确认,直接删除。
8.cat
显示文本文件的内容。该命令后可以跟多个文本文件名,将依次显示每个文件的内容。
cat命令的格式为:cat [选项] 文件,其中选项是对cat命令要执行功能的进一步说明,文件表示要显示内容的文件名。
(1)选项
-v:用特殊字符形式显示控制字符,但LFD与TAB除外,加了- v参数后,-T和- E参数将起作用。
-T:将TAB显示为“ù I”,该参数需要与-v一起使用,如果没有使用-v,则-T将被忽略。
-E:每行的末尾将显示一个$符,需要与-v一起使用。
-u:输出不经过缓冲区。
-A:等于-vET。
-t:等于-vT。
-e:等于-vE。
(2)使用举例
cat 1.txt //在屏幕上显示1.txt 文件的内容。
cat -A 1.txt //显示文件1.txt的内容,同时显示文件中所包含的特殊字符。
cat 1.txt 2.txt //依次显示1.txt和2.txt文件的内容。
cat test[123] //依次显示文件test1、test2和test3的内容。
9.head
head命令用于查看指定文本文件开头的内容,默认head命令打印其相应文件的开头10行。
head命令的格式为:head [选项] 文件,其中选项是对head命令要执行功能的进一步说明,文件表示要查看内容的文件列表。
(1)选项
-c:指明要查看文件的前多少个字符。
-n:指明要查看文件的前多少行。
-q:在文件内容前不显示文件名标识。
-v:在文件内容前显示文件名标识。
(2)使用举例
head –c 100 1.txt // 显示当前目录下文件1.txt的前100个字符。
head -v -c -12 a.txt //带有文件名的显示,不显示结尾处的12个字符,显示前面的所有字符(也就是除去后面12个字符,显示前面的所有字符)
head -c -12 a.txt //不显示结尾处的12个字符,显示前面的所有字符(也就是除去后面12个字符,显示前面的所有字符)。
head -v -n 12 a.txt //以行的显示方式进行显示,并且带有文件名信息,显示从文件头开始的12行
head –n 5 –v 1.txt 2.txt 3.txt//显示当前目录下文件1.txt、2.txt、3.txt的前5行内容,在每个文件的内容前显示相应的文件名标志。
head -v -n -12 a.txt //以行的显示方式进行显示,并且带有文件名信息,显示时除去从尾部开始倒数的12行之后,显示剩余的所有行
head -v -n 12 a.txt b.txt //同时显示a.txt和b.txt的文件,带有文件名信息,同时显示前12行
10.tail
tail命令用于查看指定文本文件尾部的内容。
tail命令的格式为:tail [选项] 文件,其中选项是对tail命令要执行功能的进一步说明,文件表示要查看内容的文件列表。
(1)选项
-c:指明要查看文件的后多少个字符。
-n:指明要查看文件的后多少行。
-q:在文件内容前不显示文件名标识。
-v:在文件内容前显示文件名标识。
+:从指定行以后开始显示。
-:从距文件尾部的指定行处开始显示。
(2)使用举例
tail –c 100 1.txt // 显示当前目录下文件1.txt的后100个字符。
tail –n 5 1.txt 2.txt 3.txt//显示当前目录下文件1.txt、2.txt、3.txt的后5行内容,在每个文件的内容前显示相应的文件名标志。
tail +3 1.txt // 从第3行开始显示当前目录下文件1.txt的内容。
tail -3 1.txt // 显示当前目录下文件1.txt的后3行内容。
tail -8 b.txt //显示当前文件的后8行
11.more
more命令用于分屏显示文本文件的内容,当一满屏文本内容显示完之后,暂停显示并在屏幕底部打印“--More--”和已显示文本占全部文本的百分比标记,若要继续显示,按回车键屏幕内容向上滚动一行或按空格键屏幕内容向上滚动一屏。
more命令的格式为:more [选项] 文件,其中选项是对more命令要执行功能的进一步说明,文件表示要分屏显示的文件名列表。
more命令在显示完一满屏暂停时,可以接收命令,通过命令来操作当前文件。
(1)选项
-num:num为数字,表示一满屏所包含的行数。
+num:num为数字,从第num行开始显示。
-p或-c:下一屏的内容不是以滚动方式显示,而是先清除当前屏幕内容,然后立即显示下一屏全部内容。
-d:在每屏的底部显示用户自定义的提示信息。
-l:不处理<Ctrl+l>(换页符)。如果没有给出这个选项,则more命令在显示了一个包含有< Ctrl+l >字符的行后将暂停显示,并等待接收命令。
-s:文件中连续的空白行压缩成一个空白行显示。
(2)命令
i 空格:i为数字,表示按空格键后显示下面的i行,若没有i或者i为0时显示下一整屏。
i 回车:i为数字,表示按回车键后显示下面的i行,若没有i或者i为0时显示下一行。
i Ctrl+d:i为数字,表示按Ctrl+d键后显示下面的i行,若没有i或者i为0时往下显示半屏(一般为11行)。
i d:i为数字,表示输入完数字i后再按“d”键,功能同i Ctrl+D。
i z:i为数字,表示输入完数字i后再按“z”键,显示下面的i行,若没有i或者i为0时显示下一整屏。
i s:跳过下面的i行后再显示一个整屏,若没有i或者i为0时跳过1行后再显示一个整屏。
i f:跳过下面的i屏后再显示一个整屏,若没有i或者i为0时跳过1屏后再显示一个整屏。
i Ctrl+b或i b:向前翻滚i屏后再显示一个整屏,若没有i或者i为0时向前翻滚1屏后再显示一个整屏。
i/pattern:查找第i次出现的字符串,/pattern表示要查找的字符串紧跟在“/”后,若没有i或者i为0时自动将i的值设为1。
‘:(单引号和冒号)回到上次搜索命令执行前的地方。
q或Q:退出more。
=:显示当前行号。
v:启动vi编辑器,从当前行开始对当前文件进行编辑。
h或?:显示命令帮助信息。
!Shell命令:执行Shell命令。
(3)使用举例
more1.txt // 分页显示文件1.txt的内容。
more –s /home/user/test*// 分页显示目录/home/user/下所有以字母test开头的文件内容,并且将这些文件中的连续空白行压缩成一个空白行显示。
more –16 1.txt // 以每屏16行的形式分页显示文件1.txt的内容。
more +10 2.txt // 从文件2.txt的第10行起分页显示文件2.txt的内容。
12.less
less命令的功能几乎和more命令一样,也是按页显示文件内容,但less命令在显示文件内容时,允许用户既可以向后翻阅也可以向前翻阅文件内容。
13.od
od命令可以以十进制、八进制、十六进制或ASCII码字符的形式显示文件内容。
od命令的格式为:od [选项] 文件,其中选项是对od命令要执行功能的进一步说明,文件是要显示内容的文件名列表。
(1)选项
-A:文件内容的地址信息显示形式,其中d表示以十进制形式显示地址信息;o表示以八进制形式显示地址信息;x表示以十六进制形式显示地址信息;n表示不显示地址信息,其中o为系统默认值。
-t:文件内容的显示形式,其中c表示以ASCII字符形式显示文件内容,对于特殊字符,使用转义符形式显示;d表示使用有符号十进制数形式显示文件内容;f表示以浮点数形式显示文件内容;o表示以八进制数形式显示文件内容;u表示以无符号十进制数形式显示文件内容;x表示以十六进制数形式显示文件内容。o为系统默认值。
-w:以指定的每行宽度显示文件内容。
(2)使用举例
od –A x –t c 1.txt // 地址信息以十六进制形式,文件内容以ASCII字符形式显示文件1.txt的内容。
od –w 40 –t f 2.txt // 地址信息以缺省的八进制形式,文件内容以浮点数形式显示文件2.txt的内容,每行宽度指定为40。
14.wc
wc命令的功能是统计指定文件内容的行数、字数及所占的字节数,其中行结束标志为换行符,字结束标志是空格或Tab分隔符。
wc命令的格式为:wc [选项] 文件,其中选项是对wc命令所要执行功能的进一步说明,文件是要统计的文件名列表。
(1)选项
-c:显示文件的字节数。
-m:显示文件的字符数。字符数可能不等于字节数,因为有的字符编码方案中1个字符用2个或多个字节表示。
-l:显示文件的行数。
-w:显示文件的字数。
-L:显示文件中最长行的长度。
(2)使用举例
wc t1 t2 // 显示文件t1、t2的统计信息,统计信息包括4列,分别为行数、字数、字节数和文件名,最后一行是总计行。
15.ln
ln命令的格式为:ln [选项] 源 目标,其中选项是对命令ln要执行功能的进一步说明,源表示要建立链接的文件名或目录名,目标表示产生的链接文件名或目录名或存储链接文件的目录。
(1)选项
-f:若目标已经存在,则无需确认覆盖目标。
-i:若目标已经存在,则提示用户是否覆盖目标。
-v:显示命令执行信息。
-s:建立符号链接。
(2)硬链接
当ln命令中无-s选项时表示建立硬链接,硬链接建立成功时,源文件的链接数自动增加1,硬链接的使用举例如下:
ln /var/test.c /home/user/t.c // 为文件/var/test.c建立硬链接文件/home/user/t.c,文件/home/user/t.c和/home/user/t.c使用相同的inode。
ln –v t1 t2 t3 /home/user/t/ // 为当前目录下文件t1、t2、t3建立硬链接,硬链接文件名与源文件名相同,硬链接文件保存在目录/home/user/t/中,同时显示命令执行信息。
(3)符号链接
当ln命令中加-s选项时表示建立符号链接,符号链接的建立不会改变源文件的iNode链接数,符号链接的使用举例如下:
ln –s /var/exp myp //为文件/var/exp建立符号链接,符号链接文件名为myp。
ln –s /var/ftp/ ftp //为目录/var/ftp/建立符号链接,符号链接文件名为ftp。
16.tar
tar是文件和目录的备份命令,能够将指定的文件和目录打包成一个归档文件即备份文件。
tar命令的格式为:tar 主选项 [辅选项] 文件名,其中,主选项是必须的,辅选项可选。
(1)主选项
-c:创建新的归档文件。
-r:把要备份的文件和目录追加到归档文件的未尾。
-t:列出归档文件的内容。
-u:用新文件替换归档文件中的旧文件,若归档文件中没有相应的旧文件,则把新文件追加到备份文件的末尾。
-x:从归案文件中恢复文件。
(2)辅助选项
-b:该选项是为磁带机设定的,其后跟一数字,用来说明数据块的大小。
-f:使用归档文件或设备,这个选项通常是必选的。
-k:还原备份文件时,不覆盖已经存在的文件。
-m:还原备份文件时,把所有文件的修改时间设定为现在。
-M:创建多卷的归档文件,以便在几个磁盘中存放。
-v:详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
-w:每一步都要求确认。
-z:用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
-j:用bzip2来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
-Z:调用compress来压缩归档文件,与-x联用时调用uncompress完成解压缩。
-C:配合主选项“x”,指明解压文件要存储的目录。
(3)使用举例
tar -cvf etc.tar /etc // 将目录/etc下的所有文件和子目录备份打包到当前目录下的文件etc.tar中,并显示打包过程。
tar -czvf etc.tar.gz /etc //将目录/etc下的所有文件和子目录备份打包并以gzip格式进行压缩,形成文件etc.tar.gz,并显示过程。
tar -cjvf etc.tar.bz /etc //将目录/etc下的所有文件和子目录备份打包并以bzip2格式进行压缩,形成文件etc.tar.bz2,并显示过程。
tar -xZvf etc.tar.z //解压缩并还原归档文件etc.tar.z中的文件和目录。
17.find
find根据指定的条件从文件系统中搜寻指定的文件或目录,然后做处理
find . -mtime 1 -print //按时间查找,查找当前目录最近访问在1天之内的文件并进行打印
find -user 0 -print //按用户查找,查找用户为root的所有文件,并进行打印
find . -name pass //从当前目录下根据命名来查找文件pass
find . -name perl //从当前目录下根据命名来查找文件perl
注意:对于名称的搜索,有无引号是不同,使用引号时搜素的是一类文件,直接使用*.html搜索的是固定的文件
find . -mtime 10 -print //查找10天前的文件,执行的动作时打印(-print),mtime:最后一次修改或创建时间
find . -user 1000 -size +400 -print // 查找用户为user的id,大小大于400块的文件,并且使用动作进行打印,(-size中+为大于,-为小于)
find ~ -perm 777 > ~/holes //按文件的权限查找,查找权限为777的,并放置到家目录下holes文件里边
find /ecport/home -type f -atime +365 -exec rm {} \; // 按照类型查找,其中f为普通文件,超过365天的文件,其中-exec执行操作rm,{}为占位符,即找到的内容,\;,其中分号为防止解析为普通字符,保持转义性
perl -p -i.bak -e "s/Linux/wujikang/g" test3.txt; //对test3.txt进行备份进行以.bak备份,并且替换test3.txt文件中的所有Linux字符串为wujikang
find /export/home/html -name "*.html" -print | xargs perl -p -i.bak -e “s/Copyright 2004/Copyright 2005/g;” //将/export/home/html目录下所有后缀为html的文件中“/Copyright 2004”内容替换为” /Copyright 2005”;其中xargs为一个命令, 然后作用perl作为参数.
xargs:将前面结果作为后面命令(perl)的参数,如以下例子所示:
cat pass | xargs more //使用more进行显示pass的内容
ls passwd | xargs more //使用more进行显示passwd
echo passwd.txt | xargs | rm
perl:对文件内容进行处理
-p :按模式处理
-i.bak:对文件进行处理之前,先备份
-e :excut 执行
18.grep
grep:从管道或文件中搜寻所满足条件的行
格式为:grep string fileName
如:grep wu test.txt //查找文件test.txt里边的字符串wu,并且会将含有字符串wu的一整行打印到终端
19.where/which
想知道所执行的命令到底在那个目录下吗?那就which吧!which vi 搜索vi所在的路径(在path下搜索,搜索到就停止)
whereis vi 搜索vi所在的路径(在path下搜索,搜索到继续搜索,直到找到所有的vi)
20.History
输出使用过的命令
set history=30 设置最多允许保存前三十个已执行命令的记录
history 显示历史记录信息
history 5 显示第五条历史记录信息
!n 重复执行第n条历史命令
!! 重复执行上一条历史命令
21.alias
别名:针对于系统中已经存在的命令,给它取个别名
csh :alias h history
bash:alias h(别名)=history(原始命令)
alias home=’cd;ls’
alias c=clear
alias h=history
alias 显示所有设置的别名
unalias copy 取消所设置的别名
二、权限类
1.chmod
--注--- Unix中的权限是 (分为拥有者、同组人、其他人),在各个分类下面分别有 (写权限、读权限、执行权限),具体来说就是使用rwx,进行表示并且控制
chmod命令用于改变文件的访问许可权限。在chmod命令中,用户和访问许可权限既可以用字母表示,也可以用数字表示。
(1)选项
-R:表示许可权限的设置对指定目录及其子目录下的所有文件和目录都有效。
-v:显示命令执行的信息
(2)使用举例
chmod –v a+x /home/user/test //给所有用户追加文件/home/user/test的执行权限,同时显示命令执行的信息。
chmod –v +s -t /home/user/test //给文件/home/user/test设置SUID和SGID位,去掉粘附位,同时显示命令执行的信息。
chmod g+r,o-x example //给同组用户追加对文件example的读权限,同时取消其他用户对文件example的执行权限。
chmod ug+w,o=rx u+s example //给文件主和同组用户追加对文件example的写权限,设置其它用户对文件example的权限为读和执行,设置文件具有SUID位
chmod 1644 /home/user/a* //将目录/home/user/目录下的所有以字母a开头的文件访问许可权限设置为具有粘附位,文件主可读可写,同组用户可读,其它用户可读。
chmod 4765 test1 test2 //将当前目录下的文件test1、test2的访问许可权限设置为具有SUID位,文件主可读可写可执行,同组用户可读可写,其它用户可读可执行。
chmod –R 5700 /etc/tmp/ // 以递归的形式将目录/etc/tmp/及其子目录下的所有文件和目录访问权限设置为具有SUID位和粘附位,文件主可读可写可执行,同组用户和其它用户无操作权限。
2.chown
chown命令可以改变指定文件的文件主,出于安全的考虑,该命令只能由root用户执行。
chown命令的格式为:chown [选项] [组:] 用户 文件,其中选项是对chown命令功能的进一步说明,组表示要将文件所设定的组,用户表示文件的新文件主,文件表示要设置的文件列表。
(1)选项
-R:以递归的形式改变指定目录及其子目录下文件和目录的文件主。
-v:显示命令执行的信息。
(2)使用举例
chown root/home/user/1.txt//将文件/home/user/1.txt的文件主设置为root用户。
chown –Rv suwu150 /var/ftp/ //将目录/var/ftp/及其子目录下的所有文件和目录的文件主设置为用户suwu150,并显示命令执行信息。
chown –v root:user 1.txt //将文件1.txt的组设置为root组,文件主设置为用户user,同时显示命令执行信息。
3.chgrp
chgrp命令可以改变指定文件所属的组
chgrp命令的格式为:chgrp [选项] 组名 文件,其中选项是对chgrp命令功能的进一步说明,组名表示指定文件即将所属的组,文件表示需要修改组的文件列表。
(1)选项
-R:以递归的形式改变指定目录及其子目录下文件和目录的组。
-v:显示命令执行的信息。
(2)使用举例
chgrp –v root 1.txt 2.txt //将当前目录下文件1.txt、2.txt的组变更为root,同时显示命令执行的信息。
chgrp -R linux /var/tmp/ //以递归形式将目录/var/tmp/及其子目录下的文件和目录的组变更为linux。
4.su
su命令能够从当前用户切换到另外一个用户,在用户切换时,若当前用户为root,则不需要输入任何密码,否则,必须正确输入要切换的用户密码。su命令的格式为:su [用户名],其中用户名就是要切换的用户名,当用户名省略时,切换到root用户。要返回原来的用户环境,输入命令exit或者按键盘的CTRL+d键。
5.useradd或adduser
命令useradd和adduser的功能完全相同,都是在系统中增加新的用户,该命令必须由root用户执行。命令useradd的格式为:useradd [选项] 用户名,其中选项是创建新用户时的进一步要求,用户名是要创建的新用户的名字。
(1)选项
-d:指明要创建的用户目录,该选项缺省时在/home/目录下创建一个与用户名同名的目录作为用户的家目录。
-e:指明用户失效时间,即在指定日期之后,该用户不能登录系统。
-G:指明新创建用户所属的组列表,一个用户可以属于多个组。
(2)使用举例
useradd user1 //在系统中增加新用户user1,同时在/home/目录下为用户user1建立用户家目录/home/user1。
useradd –d/home/u2 –e 2008-1-1 user2//在系统中增加新用户user2,同时建立新目录/home/u2/为用户家目录,并且用户将在2008-1-1之后失效。
6.passwd
passwd命令用来修改用户的密码.
passwd命令的格式为:passwd [用户名],当用户名缺省时表示修改当前用户密码,当指明用户名时,表示修改指定用户的密码。只有root用户才能修改其他用户的密码,
非root用户只能修改自己的密码。Linux要求密码最少为6个字符,并且鼓励用户设置夹杂数字、字母和其它字符的较长密码。
7.id
id查用户的信息
id root 查看用户的UID,SID
id -a root
8. who/w/whoami/who am i
显示当前已登录本系统的所有用户信息
who //用来查询目前有那些人在线上。
w //用来查询目前有那些人在线上,同时显示出那些人目前的工作。
who am i // 显示你真实的用户ID
whoami //仅显示当前登录用户名
9.ps
ps:用来查看系统中正在运行的进程的信息
(什么是进程:一个程序的运行过程)
ps -e :查看正在运行的进程(运行过程中、就绪状态下的)
ps -f:详细信息
eg:
suguniang 2709 2571 0 05:07 pts/2 00:00:00 cat
用户 PID PPID 启动时间 tt 运行时间 哪个程序文件
tt:表示该进程是从哪个控制台启动的。不是用户启动的,是系统运行时自动启动的进程
kill pid //杀死PID所指定的进程
三、磁盘类
1.mount
mount命令的功能是挂载其它文件系统到当前文件系统中,被挂载的文件系统必须是当前Linux系统所能识别的系统。
mount命令的格式为:mount [选项] [挂载点],其中选项是对mount命令要执行功能的进一步说明,挂载点表示被挂载的文件系统的根目录在当前文件系统中的位置。通常,
目录/mnt/作为挂载其他文件系统的挂载点,如果需要同时挂载多个文件系统,则经常在目录/mnt/下建立多个对应的子目录作为特定文件系统的挂载点,例如目录/mnt/cdrom/作
为光盘挂载点,目录/mnt/nfs/作为网络文件系统挂载点,目录/mnt/floppy/作为软盘挂载点等。
(1)选项
-a:挂载/etc/fstab文件中所列的全部文件系统。
-t:指定所要挂载的文件系统名称,系统所支持的文件系统信息在/proc/filesystems文件中保存。
-o:后跟指定选项,如nolock、iocharset等,选项之间用逗号分隔。
-n:挂载文件系统但是不把所挂载文件系统的信息写入/etc/mtab文件中,/etc/mtab文件中保存当前所挂载文件系统的信息。
-w:将所挂载的文件系统设为可写,但是所挂载的文件系统本身可写时,该选项才有效,例如,以可写形式挂载CDROM到系统中,但仍然不能写数据到CDROM中。
-r:将所挂载的文件系统设为只读。
-h:mount命令的使用帮助。
(2)使用举例
mount //查看当前所挂载的文件系统信息。
mount–t vfat /dev/hda2 /mnt/vfat //将位于hda2分区的FAT格式的文件系统挂载到目录 /mnt/vfat/下。
mount–w –t nfs192.168.0.6:/test /mnt/nfs //将主机192.168.0.6中的目录/test/以网络文件系统、可读写的方式挂载到目录/mnt/nfs/中。主机192.168.0.6必须启动NFS服务并在配置文件中设置目录/test/可以读写,并且当前用户对目录/test/有读写权限。
2.umount
umount命令的功能是卸载利用mount挂载的文件系统,umount命令的格式为:umount 挂载点,其中挂载点表示要卸载文件系统的挂载点,例如:
umount /mnt/vfat //卸载以/mnt/vfat/为挂载点的文件系统,当前目录不能为/mnt/vfat/或其子目录。
umount /mnt/nfs //卸载以/mnt/nfs/为挂载点的文件系统,当前目录不能为/mnt/nfs/或其子目录。
3.df
df命令用来显示硬盘各分区和已挂载文件系统的信息,df命令的格式为:df [选项] [文件],其中选项表示对df命令要执行功能的进一步说明,文件表示显示指定文件所在文件系统的信息。
(1)选项
-a:显示所有本机和已挂载文件系统的信息,包括0区块的文件系统,例如/proc、/sys、/dev/pts等。
-i:显示各文件系统的inode使用情况。
-k:显示磁盘空间使用情况,以KB为单位显示。
-t:列出所有属于指定文件系统类型的磁盘分区空间的使用情况。
-x:列出所有不属于指定文件系统类型的磁盘分区空间的使用情况。
-T:列出每个磁盘分区所安装的文件系统名称。
-l:仅列出本机的文件系统信息。
(2)使用举例
df //显示本机及其已挂载文件系统所在分区的空间使用情况。
df /boot //显示目录/boot所在文件系统的分区空间使用情况。
df –ai //显示所有文件系统的inode使用情况。
df –text3 //显示所有ext3文件系统所在分区空间使用情况。
4.du
du命令的功能是显示指定文件或目录所占磁盘空间的大小,du命令的格式为:du [选项] [文件],其中选项是对du命令要执行功能的进一步说明,文件表示要显示所占磁盘空间大小的文件或目录。
(1)选项
-a:显示指定目录及其子目录下的所有文件和目录所占磁盘空间大小,以KB为单位,文件缺省时表示当前目录。此处显示的大小是文件所占磁盘空间的大小,而不是文件实际内容的大小,例如某文件包含的内容实际大小是10字节,它在磁盘上占用一个磁盘块,而一个磁盘块的大小为4KB,则显示该文件所占用的磁盘空间为4KB。
-b:以字节为单位显示文件或目录的实际大小。
-c:在显示信息的最后加一个统计行。
-h:在显示的大小后加上K(KB)、M(MB)、G(GB)等单位标记,以提高信息的可读性。
-s:只列出文件或目录的总计行。
-x:只列出属于同一文件系统的文件和目录信息。
(2)使用举例
du –ab/home/user/txt/ //以字节为单位,列出目录/home/user/txt/及其子目录下所有文件和子目录的实际大小。
du –ch *.txt //以单位K、M、G等,列出当前目录下所有以.txt为后缀文件所占磁盘空间大小,并显示统计信息。
四、模块类
1.lsmod
Linux系统为了保证能方便地支持新设备、新功能,而又不会无限扩大内核规模,对设备驱动和文件系统部分采用了可动态加载的模块化设计方式,用户在需要时可以动态加
载这些模块,使用完毕后可以动态卸载这些暂时不用的模块,以减少内核对系统内存的占用。
lsmod命令能够列出当前系统中已经加载的模块。lsmod命令形式简单,无参数和选项。分四列显示当前加载的模块,第一列显示模块名称;第二列以字节为单位显示模块的
大小;第三列显示正在使用该模块的程序数量,该值为0时表示该模块当前未被使用,可以卸载;第四列显示正在使用该模块的动态可加载模块名称,其他使用该模块的程序名
称不被显示。
2.insmod
insmod命令能够将一个可动态加载的内核模块加载到内核中。通常情况下,系统内核模块的文件后缀为“.ko”,而扩展内核模块的文件后缀为“.o”,系统内核模块位于目
录“/lib/modules/2.6.18-8.10WS”的各个子目录中,扩展模块位于用户指定的目录中。该命令只能由root用户执行。
insmod命令的格式为:insmod 模块文件名,举例如下:
insmod/lib/modules/2.6.18-8.10WS/kernel/fs/fat/fat.ko // 加载内核模块fat.ko,若该模块已经加载,会给出该模块已经加载的错误提示。
3.rmmod
rmmod命令能够将内核中未被使用的模块进行卸载,正在使用的模块不能被卸载,该命令只能由root用户执行。rmmod命令的格式为:rmmod [选项] 模块名,其中选项是
对rmmod功能的进一步说明,模块名表示要卸载的模块名字,模块名可以包含后缀,也可以包含后缀。
(1)选项
-v:显示命令执行的详细信息。
-f:危险的选项,建议不使用,该选项表示强制卸载指定模块,而不管该模块当前是否正在被使用,或者是否可允许卸载。
-w:卸载指定模块时,若该模块目前正在被使用,则一直等到该模块空闲时再卸载。
-s:将命令执行中产生的错误信息不显示而直接写入日志文件。
-V:显示该命令的版本号。
(2)使用举例
rmmod –V //显示命令的版本号
rmmod –v fat //卸载模块fat,并显示命令执行的详细信息。
rmmod –wv floppy.ko //若模块floppy空闲则卸载,否则一直等到模块floppy空闲时再卸载,并显示命令执行的详细信息。
4.modprobe
modprobe根据模块间依赖关系的文件“/lib/modules/2.6.18-8.10WS/modules.dep”和与其同目录的多个map文件来实现一组相依赖模块的加载和卸载,而不用一个一个模块
地进行加载和卸载,并且命令中仅需要给出模块名即可,无需给出模块文件的全路径。该命令可以代替命令insmod和rmmod。
modprobe命令的使用格式为:modprobe [参数] [模块名],其中参数是对modprobe功能的进一步说明,模块名表示要操作的模块名字。
(1)参数
-a:载入该参数后的模块极其依赖模块。
-r:卸载该参数后的模块极其依赖模块。
-l:显示可用模块,默认显示保存在目录“/lib/modules/2.6.18-8.10WS”中的模块。
-v:显示命令执行的详细信息。
-c:显示模块信息文件modules.dep的内容。
(2)使用举例
modprobe –avide-cd //若当前ide-cd模块未载入,则自动依次载入ide-cd和依赖该模块的cdrom模块。命令中仅需给出模块名,无需给出模块文件的全路径。
modprobe –rvide-cd //若当前ide-cd模块未使用,则自动依次卸载ide-cd和依赖该模块的cdrom模块。
5.depmod
depmod命令生成目录“/lib/modules/2.6.18-8.10WS”下的modules.dep及其相关map文件,举例如下:
depmod //重新生成文件modules.dep及相关map文件。
以上就是一些常见的Linux命令。