Linux常用命令大全

一、文件目录以及文件查找操作

一、cat命令 : 查看文件内容

命令解释:可以用来查看文件内容,创建内容等。

命令格式 : cat [选项]... [文件]...

常用参数:

如果没有指定文件,或者文件为"-",则从标准输入读取。

选项全称说明
-A--show-all等于-vET
 -b--number-nonblank 对非空输出行编号
-e等于-vET
-E--show-ends在每行结束处显示"$"
-n--number  对输出的所有行编号

--version

输出版本信息并退出
-s--squeeze-blank不输出多行空行
 -t与-vT 等价
-v--show-nonprinting使用^ 和M- 引用,除了LFD和 TAB 之外
-T--show-tabs将跳格字符显示为^I
 --help显示此帮助信息并退出

范例一:查看cattest.txt的内容

[root@iZ2zehkwp9rwg4azsvnjbuZ linuxDemo]# cat cattest.txt

this is a txt
hello every body
hello world

范例二:查看cattest.txt的内容,并且显示行号

[root@iZ2zehkwp9rwg4azsvnjbuZ linuxDemo]# cat -n cattest.txt
1  this is a txt
2  hello every body
3  hello world

范例三:创建一个空文件 b

[root@iZ2zehkwp9rwg4azsvnjbuZ linuxDemo]# cat >b <<EOF
> EOF

范例四:写入内容(如果原来有内容将被覆盖)

[root@iZ2zehkwp9rwg4azsvnjbuZ linuxDemo]# cat >a<<EOF
> today is a good day
> because off work
> hahaha
> EOF
[root@iZ2zehkwp9rwg4azsvnjbuZ linuxDemo]# cat a
today is a good day
because off work
hahaha

范例五:同时显示多个文件内容

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat a > b
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cat b
today is a good day
because off work
hahaha

二、 ls命令: 显示目录内容列表

命令解释:用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

命令格式 : ls [-alrtAFR] [name...]

常用参数:

选项说明
-l长格式显示文件
-a 显示隐藏文件
-r 逆序显示
-t 按照时间顺序显示
-R 递归显示

范例一:列出 目录下的所有文件和目录的详细资料

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# ls -a -l
total 16
drwxr-xr-x@  4 v_jiinxiaolan  staff  128  5  4 17:35 .
drwx------@ 11 v_jiinxiaolan  staff  352  5  4 17:34 ..
-rw-r--r--   1 v_jiinxiaolan  staff   25  5  4 17:37 cattest.txt
-rw-r--r--   1 v_jiinxiaolan  staff  363  5  4 17:36 demoTest.md

范例二:列出当前目录下所有子目录下的文件

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# ls -R
cattest.txt	demoTest.md	test_1

./test_1:
files.md	today_happy.txt

三、pwd命令: 显示工作目录

命令解释:用于查看"当前工作目录"的完整路径。

命令格式:pwd [选项]

常用参数:

选项说明

-P 

显示实际物理路径,而非使用连接(link)路径

-L 

当目录为连接路径时,显示连接路径

范例一:显示当前所在路径。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# pwd
/Users/${USERS_NAME}/Desktop/linuxdemo

四、cd命令

命令解释:用于切换当前目录至dirName。

命令格式:cd [目录名]

范例一:从当前目录进入系统根目录。 

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cd /
[root@iz2ze76ybn73dvwmdij06zz] #

范例二:跳转到 指定(home/test) 目录。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cd /home/test
[root@iz2ze76ybn73dvwmdij06zz test] #

范例三:返回到上一层目录

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cd ..
[root@iz2ze76ybn73dvwmdij06zz home] #

范例四:直接回退到最近一次所处的路径

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# pwd
/Desktop/linuxdemo/test_1/style
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cd /Desktop
/linuxdemo/test_1/style
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# pwd
/linuxdemo/test_1/style
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cd -
~/Desktop/demo/test_1/style

五、cp 命令 : 复制文件/目录

命令解释:主要用于将源文件复制至目标文件,或将多个源文件复制至目标目录。

命令格式:cp [选项] 源文件 目录 cp [选项] -t 目录 源文件

常用参数:

选项全称说明

-t

--target-directory指定目标目录

-i

--interactive覆盖前询问(使前面的 -n 选项失效)

-n

--no-clobber不要覆盖已存在的文件(使前面的 -i 选项失效)

-f

--force强行复制文件或目录,不论目的文件或目录是否已经存在

-u

--update使用这项参数之后,只会在源文件的修改时间较目的文件更新时,或是对应的目的文件并不存在,才复制文件

范例一:复制 test_1 整个目录到 test2。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cp -a test_1 test2

范例二:复制文件 cattest.txt 到 test_1 目录。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# cp cattest.txt test_1
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# ls -R
cattest.txt	demoTest.md	test_1

./test_1:
cattest.txt	files.md	style		today_happy.txt

./test_1/style:

六、touch 命令 : 新建文件

命令解释:用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。ls -l 可以显示档案的时间记录。

命令格式:touch [选项] 文件

常用参数:

选项说明
-a 或--time=atime或--time=access或--time=use只更改存取时间
-c 或--no-create不建立任何文档
-d使用指定的日期时间,而非现在的时间
-f此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
-m 或--time=mtime或--time=modify只更改变动时间
-r把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同 -t  使用指定的日期时间,而非现在的时间

范例一:创建不存在的文件test.txt。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# touch test.txt

范例二:更新 test.txt 的实践和 test1.txt 时间戳相同。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# touch -r test.txt test1.txt

七、which 命令  : 查找文件

命令解释:which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

命令格式:which [file...]

常用参数:

选项说明

-n  

指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
-p与-n参数相同,但此处的包括了文件的路径
-w指定输出时栏位的宽度
-V显示版本信息

范例一:查找文件、显示命令路径

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# which pwd

八、 mkdir 命令 : 创建目录

命令解释:用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。

命令格式:mkdir [选项] 目录

常用参数:

选项全称说明
-m--mode=模式设定权限<模式> (类似 chmod)
-p --parents可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
-v--verbose每次创建新目录都显示信息

--help

显示此帮助信息并退出

--version

输出版本信息并退出

范例一:创建一个空目录

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# mkdir test3
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# ls
cattest.txt	demoTest.md	test2		test3		test_1

范例二:递归创建多个目录

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# mkdir test3/demo1
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]#  ls -R
cattest.txt	demoTest.md	test2		test3		test_1

./test2:

./test3:
demo1

./test3/demo1:

./test_1:
cattest.txt	files.md	style		today_happy.txt

./test_1/style:

范例三:创建权限为777的目录

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# mkdir -m 777 test2

范例四:创建目录都显示信息。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# mkdir -v test2

九、rmdir 命令 : 删除空目录

命令解释:该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限。

命令格式:rmdir [选项] 目录

常用参数:

选项说明

-P 

递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
-v--verbose 显示指令执行过程

例一:删除空目录 test1,非空目录无法删除。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# rmdir test1

范例二:当子目录被删除后使它也成为空目录的话,则顺便一并删除

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# rmdir -p test3

十、rm 命令: 删除目录

命令解释:删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

命令格式:rm [选项] 文件

常用参数:

选项全称说明

-f

--force忽略不存在的文件,从不给出提示

-i

--interactive进行交互式删除
-r, -R--recursive指示rm将参数中列出的全部目录和子目录均递归地删除

-v,

--verbose详细显示进行的步骤

--help

显示此帮助信息并退出

--version

输出版本信息并退出

范例一:删除文件 test.txt,系统会提示是否删除。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# rm test.txt

范例二:强制删除 test.txt,系统不再提示。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# rm -f test.txt

范例三:将 test_1 子目录及目录中所有档案删除。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# rm -r test

十一、mv 命令 : 文件移动/改名

命令解释:用来为文件或目录改名、或将文件或目录移入其它位置。

命令格式:mv [options] source dest  mv [options] source... directory

常用参数:

选项说明

-b

若需覆盖文件,则覆盖前先行备份
-fforce 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i若目标文件 (destination) 已经存在时,就会询问是否覆盖
-u若目标文件已经存在,且 source 比较新,才会更新(update)
-t--target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后

范例一:将 test1.txt 重命名为 mvDemo.txt。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# mv test1.txt mvDemo.txt

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# ls
cattest.txt     demoTest.md     mvDemo.txt      test2           test3

范例二:移动文件 mvDemo.txt 到目录 test2

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# mv mvDemo.txt test2

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# ls -R
cattest.txt     demoTest.md     test2           test3

./test2:
mvDemo.txt

./test3:
demo1

./test3/demo1:

十二、 find 命令:查找文件

命令解释:主要作用是沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应的操作。

命令格式:find [选项] [搜索路径] [表达式]

常用参数:

选项说明
-print find命令将匹配的文件输出到标准输出
-exec find命令对匹配的文件执行该参数所给出的
-type查找某一类型的文件
-name按照文件名查找文件

范例一:打印当前目录下所有不以.txt 结尾的文件名

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# find . ! -name "*.txt"

范例二:打印当前目录下所有权限为 777 的 php 文件。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# find . -type f -name "*.php" -perm 777

范例三:找到当前目录下所有 php 文件,并显示其详细信息。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# find . -name "*.php" -exec ls -l {} \;

范例四:查找当前目录下所有 c 代码文件,统计总行数。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# find . -type f -name "*.c" | xargs wc -l

二、网络命令

十三、ping 命令 : 检测主机

命令解释:执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

命令格式:ping  [主机名称或IP地址]

常用参数:

  • -c<完成次数> 设置完成要求回应的次数。

范例一:完成响应五次百度

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# ping -c 5 www.baidu.com
PING www.a.shifen.com (110.242.68.4): 56 data bytes
64 bytes from 110.242.68.4: icmp_seq=0 ttl=51 time=10.445 ms
64 bytes from 110.242.68.4: icmp_seq=1 ttl=51 time=9.988 ms
64 bytes from 110.242.68.4: icmp_seq=2 ttl=51 time=8.781 ms
64 bytes from 110.242.68.4: icmp_seq=3 ttl=51 time=10.407 ms
64 bytes from 110.242.68.4: icmp_seq=4 ttl=51 time=9.694 ms

--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 8.781/9.863/10.445/0.608 ms

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# 

十四、ipconfig 命令

命令解释:用ifconfig 命令用来查看和配置网络设备。

命令格式:ifconfig [网络设备] [参数]

常用参数:

选项说明

up

启动指定网络设备/网卡

dow

关闭指定网络设备/网卡。
arp设置指定网卡是否支持ARP协议
-promisc设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包
-allmulti设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包
-a显示全部接口信息
-s显示摘要信息(类似于 netstat -i)
add给指定网卡配置IPv6地址
del删除指定网卡的IPv6地址

范例一:用ifconfig修改MAC地址

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE

范例二:启动关闭指定网卡

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# ifconfig eth0 down

三、文件打包上传和下载

十五、tar 命令

命令解释:用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的。

命令格式:tar [必要参数] [选择参数] [文件]

常用参数:

选项是否必要参数说明
-A必要参数 新增压缩文件到已存在的压缩

-B

设置区块大小
-c建立新的压缩文件
-d记录文件的差别
-r添加文件到已经压缩的文件
-u添加改变了和现有的文件到已经存在的压缩文件
-x从压缩的文件中提取文件
-t显示压缩文件的内容
-z支持gzip解压文件
-j支持bzip2解压文件
-Z支持compress解压文件
-v显示操作过程
-l文件系统边界设置
-k保留原有文件不覆盖
-m保留文件不被覆盖

-W

确认压缩文件的正确性
-b可选参数设置区块数目
-C切换到指定目录
-f指定压缩文件
--help显示帮助信息
--version显示版本信息

范例一:将文件打全部打包成tar包。

# 仅打包,不压缩! 
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# tar -cvf test.tar test.txt    

# 打包后,以 gzip 压缩 
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# tar -zcvf test.tar.gz test.txt 

# 打包后,以 bzip2 压缩
[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# tar -zcvf test.tar.bz2 test.txt

范例二:把/home目录下包括其子目录全部做备份文件usr.tar

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# tar cvf  usr.tar  /home

范例三:将 tar 包解压缩

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# tar -zxvf test.tar.gz

范例四:使用-j参数来解开.tar.bz2文件

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# tar	jxvf file3.tar.bz2

范例五:完整例子

# 创建一个名为 abc 的目录
mkdir abc

# 进入 abc 这个目录
cd abc

# 创建两个文件,文件名为1.txt 2.txt
touch 1.txt 2.txt

# 切换到 abc 的父目录
cd ..

# 将文件 abc 进行压缩时,排除1.txt,压缩后的文件名为 abc.tar
tar --exclude=abc/1.txt -zcvf abc.tgz abc

# 解压文件
tar -zxvf abc.tgz

# 删除压缩文件
rm abc.tgz

# 删除解压后的文件,并删除文件夹
rm -rf abc

十六、gzip 命令:压缩文件

命令解释:对文件进行压缩

命令格式:gzip [选项] 压缩(解压缩)的文件名 

常用参数:

选项说明
-C将输出写到标准输出上,并保留原有文件。
-d将压缩文件解压。
-l对每个压缩文件,显示下列字段:压缩文件的大小、未压缩文件的大小、压缩比、未压缩文件的名字。
-r递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t测试,检查压缩文件是否完整。
-v对每一个压缩和解压的文件,显示文件名和压缩比。
-num用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6

 范例一:把 test1 目录下的每个文件压缩成.gz 文件。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# test1 $ gzip *

范例二:将text1.txt压缩为text1.txt.gz文件

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# gzip text1.txt

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# ls
cattest.txt     demoTest.md     test2           test3           text1.txt.gz

范例三:将压缩文件usr.tar解压,并列出详细的信息

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# gzip –dv usr.tar.gz

十七、unzip命令 解压缩

命令解释:该命令用于解扩展名为.zip的压缩文件。

命令格式:格式:unzip [选项] 压缩文件名.zip

常用参数:

选项说明

-X

文件列表 解压缩文件,但不包括指定的file文件。
-v 查看压缩文件目录,但不解压。
-t  测试文件有无损坏,但不解压。
-d 目录 把压缩文件解到指定目录下。
-z只显示压缩文件的注解。
-n 不覆盖已经存在的文件。
-o 覆盖已存在的文件且不要求用户确认。
-j不重建文档的目录结构,把所有文件解压到同一目录下

范例一:将压缩文件text.zip在当前目录下解压缩

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# uzip text.zip

十八、zcat命令:查看压缩文件内容

命令解释用于查看gzip格式压缩文件内容的命令行工具,它可以将gzip格式的压缩文件展开,并直接输出展开后的内容。

命令格式:zcat [ -fhLV ] [ name ... ]

常用参数:

选项说明

-S

指定gzip格式的压缩包的后缀
-c将文件内容写到标注输出
-d执行解压缩操作
-L显示软件许可信息
-q禁用警告信息
-r在目录上执行递归操作
-t测试压缩文件的完整性
-l显示压缩包中文件的列表
-V显示指令的版本信息
-l更快的压缩速度
-9更高的压缩比

范例一:打印压缩的内容,将内容传给more命令进行分页显示

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# zcat httpd-2.4.46.tar.gz | more

范例二:查看压缩属性信息

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# zcat -l httpd-2.4.46.tar.gz
         compressed        uncompressed  ratio uncompressed_name
            9363314            42301440  77.9% httpd-2.4.46.tar
compressed          #压缩大小 
uncompressed        #未压缩大小
ratio               #压缩比率
uncompressed_name    #未压缩文件的名称

四、文件权限设置

十九、chmod 修改文件权限

命令解释:用于改变linux系统文件或目录的访问权限。

命令格式:chmod [选项] 文件或目录名

常用参数:

选项说明
u文件所有者
g文件所属组
o其它用户
a所有用户
+增加权限
-取消权限
=赋给权限
r只读权限
w写权限
x执行权限

范例一:增加文件所有用户组可执行权限

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# chmod a+x test.log

范例二:删除所有用户的可执行权限

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# chmod a-x test.log

二十、chown 命令

命令解释:通过chown改变文件的拥有者和群组

命令格式:chown [选项] [所有者] [:[组]] 文件

常用参数:

选项是否是必要参数说明
-c必要参数显示更改的部分的信息
-f忽略错误信息
-h修复符号链接
-R处理指定目录以及其子目录下的所有文件
-v显示详细的处理信息
-deference作用于符号链接的指向,而不是链接文件本身
--reference=<目录或文件>选择参数把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组
--from=<当前用户:当前群组>

只有当前用户和群组跟指定的用户和群组相同时才进行改变

--help显示帮助信息
--version显示版本信息

范例一:改变 dir 目录下的文件及其子目录下的文件的属主为bugboy

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# chown -R bugboy dir

二十一、 ln

命令解释:在文件间建立链接

命令格式:ln [选项] 源文件 目录文件或目录

常用参数:

选项说明
-v输出被链接文件的文件名。
-b为删除的文件建立备份。
-d允许root用户建立硬链接。
-F与b相同。
-f强行删除目标文件。
-i在删除文件时给出提示。
-n 当目标文件是目录的符号链接时,替代该符号链接。
-s

用符号链接代替硬链接(建立符号链接)。

范例一:在usr目录下建立指向 /lib/lsb 目录的 linuxTest 文件。

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# ln -s /lib/lsb /usr/linuxTest

范例二:给目录  test2 创建软连接

[root@iz2ze76ybn73dvwmdij06zz linuxdemo]# in -sv /home/work/test1 /user/work/linuxTest

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值