Linux常用的命令

Linux常用的命令

一、cd:切换目录(Change directory)
(1)cd ~ 和 cd:返回用户目录

[root@izwz94jtz9hbdq165vpxpxz app1]# cd ~
[root@izwz94jtz9hbdq165vpxpxz ~]#

[root@izwz94jtz9hbdq165vpxpxz app1]# cd
[root@izwz94jtz9hbdq165vpxpxz ~]#
(2)cd .:停留在当前目录

[root@izwz94jtz9hbdq165vpxpxz app1]# cd .
[root@izwz94jtz9hbdq165vpxpxz app1]#
(3)cd …:返回上一级目录

[root@izwz94jtz9hbdq165vpxpxz app1]# cd a
[root@izwz94jtz9hbdq165vpxpxz a]# cd …
[root@izwz94jtz9hbdq165vpxpxz app1]#
(4)cd …/…:返回上两级目录

[root@izwz94jtz9hbdq165vpxpxz app1]# cd www
[root@izwz94jtz9hbdq165vpxpxz www]# cd carina
[root@izwz94jtz9hbdq165vpxpxz carina]# cd …/…
[root@izwz94jtz9hbdq165vpxpxz app1]#
(5)cd …/目录A:先返回进入此目录之前所在的目录,然后再进入指定的目录A

[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/www
[root@izwz94jtz9hbdq165vpxpxz www]# ls
123.jgp 123.txt a2 carina requests-2.18.1.tar.gz root
[root@izwz94jtz9hbdq165vpxpxz www]# cd carina
[root@izwz94jtz9hbdq165vpxpxz carina]#cd …/a2
[root@izwz94jtz9hbdq165vpxpxz a2]#
(6)cd -:返回进入此目录之前所在的目录

[root@izwz94jtz9hbdq165vpxpxz app1]# cd www
[root@izwz94jtz9hbdq165vpxpxz www]# cd -
/app1
(7)cd 路径:进入指定目录

[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/www
[root@izwz94jtz9hbdq165vpxpxz www]#
(8)cd /:返回到根目录

[root@izwz94jtz9hbdq165vpxpxz ~]# cd /
[root@izwz94jtz9hbdq165vpxpxz /]#

[root@izwz94jtz9hbdq165vpxpxz carina]# cd /
[root@izwz94jtz9hbdq165vpxpxz /]

二、ls:列出目录下的文件(List files)
ls:列出指定路径下的所有文件名、时间及读写权限(文件详细信息)

(1)ls -a:显示所有文件列表(含隐藏文件“.”和“…”)

[root@izwz94jtz9hbdq165vpxpxz www]# ls -a
. … carina carina.tar.gz redis-3.0.7.tar.gz root text1.txt text.tx
(2)ls -A:显示除隐藏文件“.”和“…”以外的所有文件列表

[root@izwz94jtz9hbdq165vpxpxz www]# ls -A
carina carina.tar.gz redis-3.0.7.tar.gz root text1.txt text.txt
(3)ls -l:以列表形式显示文件及文件夹的详细信息
(从左至右:文件类型、权限、数量、属主、属组、大小、修改/访问时间、文件名)

[root@izwz94jtz9hbdq165vpxpxz www]# ls -l
total 1368
drwxr-xr-x 5 root root 4096 Jun 22 13:23 carina
-rw-r–r-- 1 root root 256 Jun 19 00:27 carina.tar.gz
-rw-r–r-- 1 root root 1375200 Jul 10 09:35 redis-3.0.7.tar.gz
drwxr-xr-x 3 root root 4096 Jun 19 00:40 root
-rw-r–r-- 1 root root 6 Jul 6 18:14 text1.txt
-rw-r–r-- 1 root root 6 Jul 6 18:13 text.txt
ll:ls -l的简写

[root@izwz94jtz9hbdq165vpxpxz app1]# ll
total 36
drwxr-xr-x 2 root root 4096 Jul 14 16:55 a
drwxr-xr-x 2 root root 4096 Jul 16 13:43 aa
drwxr-xr-x 2 root root 4096 Jul 16 13:47 b
drwxrwxrwx 4 root root 4096 Jul 10 13:29 bak
drwxr-xr-x 2 root root 4096 Jul 16 13:47 c
drwxr-xr-x 2 root root 4096 Jul 16 13:47 d
drwxr-xr-x 4 root root 4096 Jul 4 22:56 test
drwxr-xr-x 4 root root 4096 Jul 10 09:35 www
drwxr-xr-x 2 root root 4096 Jul 10 13:02 zyp

三、mv:移动/重命名 文件或目录 (Move file)
(语法:mv 源文件 目标文件)

(1)目标文件不是目录,即重命名 ,如下是将app1文件夹内的a文件夹重命名为a1
(mv 原文件名 新文件名)

[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1
[root@izwz94jtz9hbdq165vpxpxz app1]# ls
a aa b bak c d test www zyp
[root@izwz94jtz9hbdq165vpxpxz app1]# mv a a1
[root@izwz94jtz9hbdq165vpxpxz app1]# ls
a1 aa b bak c d test www zyp
(2)目标文件是目录

单文件移动(mv 移动前文件 移动后文件路径)
[root@izwz94jtz9hbdq165vpxpxz ~]# mv /app1/www/text1.txt /app2/app21
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app2/app21
[root@izwz94jtz9hbdq165vpxpxz app21]# ls
text1.txt
多文件移动,使用 -t(含文件及文件夹)
[root@izwz94jtz9hbdq165vpxpxz www]# mv carina/ carina.tar.gz text1.txt text.txt -t /app2/app21
[root@izwz94jtz9hbdq165vpxpxz www]# cd /app2/app21
[root@izwz94jtz9hbdq165vpxpxz app21]# ls
carina carina.tar.gz text1.txt text.txt

将文件text.tx、text1.txt、redis-3.0.7.tar.gz、a3文件夹移动到app2文件夹下的app21文件夹
(文件夹后的/省去效果一样)
[root@izwz94jtz9hbdq165vpxpxz www]# mv -t /app2/app21 text.txt text1.txt redis-3.0.7.tar.gz a3/
(3)将上级目录的文件 拷贝到当前目录 (mv …/文件名 ./)

提示:./ 和…/ 都是相对地址,./ 是当前目录,…/是上一级目录

[root@izwz94jtz9hbdq165vpxpxz app1]# ls
file2.txt file3.txt file4.txt file.txt
[root@izwz94jtz9hbdq165vpxpxz app1]# cd www
[root@izwz94jtz9hbdq165vpxpxz www]# ls
test text1.txt text3.txt text.txt
[root@izwz94jtz9hbdq165vpxpxz www]# mv …/file.txt ./
[root@izwz94jtz9hbdq165vpxpxz www]# ls
file.txt test text1.txt text3.txt text.txt
[root@izwz94jtz9hbdq165vpxpxz www]# cd …
[root@izwz94jtz9hbdq165vpxpxz app1]# ls
file2.txt file3.txt file4.txt

四、mkdir:创建目录(Make directory )
(需注意相对路径和绝对路径)

(1)在目录名前没有加任何路径名,则在当前目录下创建

[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir a
(2)在目录名前有一个已经存在的路径,将会在该目录下创建

[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1
[root@izwz94jtz9hbdq165vpxpxz app1]# mkdir aa
(3)创建多级目录及多文件夹,使用 -p(文件夹之间用空格隔开)
(若上层目录没找到,则会一并创建)

绝对路径:
[root@izwz94jtz9hbdq165vpxpxz app2]# mkdir -p /app2/a1 b1 c1 d1
[root@izwz94jtz9hbdq165vpxpxz app2]# ls
a1 b1 c1 d1

相对路径:
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/www
[root@izwz94jtz9hbdq165vpxpxz www]# mkdir -p carina/a1 carina/a2 carina/a3
[root@izwz94jtz9hbdq165vpxpxz www]# cd carina
[root@izwz94jtz9hbdq165vpxpxz carina]# ls
a1 a2 a3
若不使用 -p,文件夹创建会失败

[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir test/test1 test2 test3
mkdir: cannot create directory ‘test/test1’: No such file or directory
(4)创建多目录下的单个文件,也可以使用 --parents

[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir --parents /a2/a
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /a2
[root@izwz94jtz9hbdq165vpxpxz a2]# ls
a
(5)创建带权限的文件夹,使用 -m

目录已存在,创建成功
[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir -m 700 /a2/a/aa
(文件属主拥有读、写和执行权限,其他人无权访问)
目录不存在,创建失败
[root@izwz94jtz9hbdq165vpxpxz ~]# cd /a2
[root@izwz94jtz9hbdq165vpxpxz a2]# mkdir -m 700 /a3/a/aa
mkdir: cannot create directory ‘/a3/a/aa’: No such file or directory
此时需要使用 -p-m

[root@izwz94jtz9hbdq165vpxpxz ~]# mkdir -p -m 700 /a3/a/aa
注意事项:
在创建目录时,应保证新建的目录与它所在目录下的文件没有重名

[root@izwz94jtz9hbdq165vpxpxz app1]# mkdir a
mkdir: cannot create directory ‘a’: File exists (已有文件夹存在)

五、cat:显示文件的内容 (Concatenate)
(1)输出多个文件内容

[root@izwz94jtz9hbdq165vpxpxz www]# cat text1.txt text.txt
hello world /text1.txt内容/
dgdfgfhfdgh /text.txt内容/
(2)将2个文件合并新文件

[root@izwz94jtz9hbdq165vpxpxz www]# cat text1.txt text.txt > text2.txt
[root@izwz94jtz9hbdq165vpxpxz www]# ls
text1.txt text2.txt text.txt
[root@izwz94jtz9hbdq165vpxpxz www]# cat text2.txt
hello world
dgdfgfhfdgh
注:若新文件有内容,则原数据会被清空,因此需要小心操作

[root@izwz94jtz9hbdq165vpxpxz www]# cat text2.txt
testtesttedgdkljsdhfkld
[root@izwz94jtz9hbdq165vpxpxz www]# cat text1.txt text3.txt > text2.txt
[root@izwz94jtz9hbdq165vpxpxz www]# cat text2.txt
hello world
hihihihihihi
(3)将file1.txt追加到file2.txt的末尾(>> 表示将文本流追加到另一个文件的末位)
cat file1.txt >> file2.txt

[root@izwz94jtz9hbdq165vpxpxz www]# cat text2.txt
gdgdg
[root@izwz94jtz9hbdq165vpxpxz www]# cat text1.txt >> text2.txt
[root@izwz94jtz9hbdq165vpxpxz www]# cat text2.txt
gdgdg
hello world
(4)文件夹不能合并

[root@izwz94jtz9hbdq165vpxpxz app1]# ls
a1 a2
[root@izwz94jtz9hbdq165vpxpxz app1]# cat a1 a2 a3
cat: a1: Is a directory
cat: a2: Is a directory
cat: a3: No such file or directory

六、find:在指定目录下查找文件
find 目录 参数
(1)单文件匹配

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/www -name “*.txt”
/app1/www/root/carina/a/test.txt
/app1/www/text3.txt
/app1/www/text1.txt
/app1/www/text.txt
(2)多文件匹配(目录下以.txt结尾的文件、含字母a的文件) : 使用 -o

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/www -name “*.txt” -o -name “a
/app1/www/a2
/app1/www/root/carina
/app1/www/root/carina/a
/app1/www/root/carina/a/test.txt
/app1/www/text3.txt
/app1/www/text1.txt
/app1/www/text.txt
/app1/www/carina
/app1/www/carina/aa
/app1/www/carina/carina
/app1/www/carina/carina/a2
/app1/www/carina/carina/a1
/app1/www/carina/carina/a3
(3)查找除XX外的: **使用 “!” or “-not” **

如查找app1文件夹下www文件夹,文件名不含a

find /app1/www ! -name “a
查找当前目录下 文件不含a的信息

[root@izwz94jtz9hbdq165vpxpxz ~]#find /app1/www -maxdepth 1 -not -name “a
(4)查找文件,忽略大小写 :使用 -i

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1 -iname “test
/app1/www/a2/test
/app1/www/test
/app1/TEST /大写文件夹/
(5)只查找某层目录下含XX的文件(夹):使用 mindepth 和 maxdepth

“-maxdepth 1” :限制只查找1层目录深度,当前目录即为1层

查找当前目录下,含test的文件及文件夹

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1 -maxdepth 1 -name “test
/app1/test1.txt
/app1/zyptest
/app1/test
如下 “ /app1/www/ ” 即为1层目录深度

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/www -maxdepth 1 -name “test
/app1/www/test
查找当前目录 及其 1层深的子目录中,含test的文件及文件夹,即 maxdepth 2

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1 -maxdepth 2 -name “test
/app1/www/test
/app1/test1.txt
/app1/zyptest
/app1/test
在第1层子目录和第2层子目录之间查找文件(第一层子目录就是2层目录)

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1 -mindepth 2 -maxdepth 3 -name “test
/app1/www/a2/test
/app1/www/test
(6)查找空文件(-empty)

只列出当前目录下的非隐藏空文件

[root@izwz94jtz9hbdq165vpxpxz ~]#find . -maxdepth 1 -empty -not -name “.*”
(7)查找指定文件类型的文件 (-type)

查找指定目录下的所有目录 -type d

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/www -type d
/app1/www
/app1/www/a2
/app1/www/a2/test
/app1/www/root
/app1/www/root/carina
/app1/www/root/carina/b
/app1/www/root/carina/a
/app1/www/carina
/app1/www/carina/aa
查找指定目录下的所有文件 -type f

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/www -type f
/app1/www/root/carina/config.xml
/app1/www/requests-2.18.1.tar.gz
/app1/www/text.txt
/app1/www/123.jgp

七、pwd:以绝对路径的方式显示用户当前工作目录
Print working directory

[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/www
[root@izwz94jtz9hbdq165vpxpxz www]# pwd
/app1/www

八、rm -参数:删除N个文件或整个目录
使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复。
建议用-i选项,删除时会有提示

相对路径:
[root@izwz94jtz9hbdq165vpxpxz www]# rm -i text2.txt
rm: remove regular file ‘text2.txt’? /回车键不删除,效果同输入n/
[root@izwz94jtz9hbdq165vpxpxz www]# ls
text2.txt text3.txt text.txt
[root@izwz94jtz9hbdq165vpxpxz www]# rm -i text2.txt
rm: remove regular file ‘text2.txt’? y /文件删除成功/
[root@izwz94jtz9hbdq165vpxpxz www]# ls
text3.txt text.txt

绝对路径:
[root@izwz94jtz9hbdq165vpxpxz www]# rm /app1/c/text1.txt
rm: remove regular file ‘/app1/c/text1.txt’? y
[root@izwz94jtz9hbdq165vpxpxz www]#
注:rm不能删除文件夹

[root@izwz94jtz9hbdq165vpxpxz /]# rm app3
rm: cannot remove ‘app3’: Is a directory
rm -r(或rm -R):删除当前目录下除隐含文件外的所有文件和子目录

应注意,这样做是非常危险的!
[root@izwz94jtz9hbdq165vpxpxz app21]# ls -a
. … a3 redis-3.0.7.tar.gz text1.txt
[root@izwz94jtz9hbdq165vpxpxz app21]# cd …
[root@izwz94jtz9hbdq165vpxpxz app2]# rm -r app21
rm: descend into directory ‘app21’? y /输入y删除/
rm: remove regular empty file ‘app21/text1.txt’? y
rm: descend into directory ‘app21/a3’? y
rm: remove regular empty file ‘app21/a3/a3.png’? y
rm: remove regular empty file ‘app21/a3/a3.txt’? y
rm: remove directory ‘app21/a3’? y
rm: remove regular empty file ‘app21/redis-3.0.7.tar.gz’? y
rm: remove directory ‘app21’? y
[root@izwz94jtz9hbdq165vpxpxz app2]# ls -a
. …
rm -®f:强制删除,f 可理解为force

[root@izwz94jtz9hbdq165vpxpxz ~]# cd /app1/aa
[root@izwz94jtz9hbdq165vpxpxz aa]# ls
aa1
[root@izwz94jtz9hbdq165vpxpxz aa]# cd …
[root@izwz94jtz9hbdq165vpxpxz app1]# rm -rf aa
[root@izwz94jtz9hbdq165vpxpxz app1]#
删除某个目录下所有带有test的文件夹及文件

结合find命令删除:
find 目录 -name “file” -exec rm -rf {} ;
语法解析

-exec 找到后执行命令
rm -rf {} 就是删除文件
; 命令 属于格式要求的,没有具体含义
举例

[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/ -name “test
/app1/www/test1.txt
/app1/www/test
/app1/test.txt
/app1/zyptest
/app1/test
[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/ -name “test” -exec rm -rf {} ;
find: ‘/app1/www/test’: No such file or directory /文件已被删除所以会提示找不到/
find: ‘/app1/zyptest’: No such file or directory
find: ‘/app1/test’: No such file or directory
[root@izwz94jtz9hbdq165vpxpxz ~]# find /app1/ -name “test
[root@izwz94jtz9hbdq165vpxpxz ~]#

九、touch:创建新的空文件
(用ls-l查看文件大小为0)

[root@izwz94jtz9hbdq165vpxpxz www]# touch text.txt
[root@izwz94jtz9hbdq165vpxpxz www]# ls -l
total 0
-rw-r–r-- 1 root root 0 Jul 16 17:02 text.txt
批量创建文件

[root@izwz94jtz9hbdq165vpxpxz a1]# touch a{1…10}.text
[root@izwz94jtz9hbdq165vpxpxz a1]# ls
a10.text a1.text a2.text a3.text a4.text a5.text a6.text a7.text a8.text a9.text

十、cp:复制文件/目录(Copy file)
(1)默认情况下,cp命令不能复制目录

[root@izwz94jtz9hbdq165vpxpxz app1]# cp a1 /app2
cp: omitting directory ‘a1’
如果要复制目录,则必须使用-R选项

目标目录存在,直接复制
[root@izwz94jtz9hbdq165vpxpxz app1]# cp -R a1 /app2
[root@izwz94jtz9hbdq165vpxpxz app1]# find / -name “a1”
/app1/a1
/app2/a1
目标目录不存在,先自动创建目标目录再复制源目录

[root@izwz94jtz9hbdq165vpxpxz app1]# ls
test www zyp
[root@izwz94jtz9hbdq165vpxpxz app1]# cd www
[root@izwz94jtz9hbdq165vpxpxz www]# ls
123.jgp a2 carina root text1.txt text3.txt text.txt
[root@izwz94jtz9hbdq165vpxpxz www]# cp -R carina /app1/zyptest /拷贝到不存在的目录/
[root@izwz94jtz9hbdq165vpxpxz www]# cd …
[root@izwz94jtz9hbdq165vpxpxz app1]# ls
test www zyp zyptest /目录创建成功/
(2)复制文件

[root@izwz94jtz9hbdq165vpxpxz www]# cp text1.txt /app1/c
[root@izwz94jtz9hbdq165vpxpxz www]# find / -name “text1.txt”
/app1/www/text1.txt
/app1/c/text1.txt

绝对路径:
[root@izwz94jtz9hbdq165vpxpxz ~]# cp /app1/www/text1.txt /app1/c
(3)复制文件并重命名文件
如下将www文件夹下的text1.txt 复制到目录 /app1,并改名为text.txt

[root@izwz94jtz9hbdq165vpxpxz www]# cp text1.txt /app1/text.txt
(4)复制特定类型的文件

[root@izwz94jtz9hbdq165vpxpxz www]# ls
123.txt carina text1.txt text3.txt text.txt
[root@izwz94jtz9hbdq165vpxpxz www]# cp t*.txt /app1/bak
[root@izwz94jtz9hbdq165vpxpxz www]# cd /app1/bak
[root@izwz94jtz9hbdq165vpxpxz bak]# ls
text1.txt text3.txt text.txt
复制前可能已经有文件存在了,那么不想进行每个选项都输入 y 确认的话,需要在 cp 前加 \,没有空格

[root@izwz94jtz9hbdq165vpxpxz www]# cp t*.txt /app1/bak
cp: overwrite ‘/app1/bak/text1.txt’? y
cp: overwrite ‘/app1/bak/text3.txt’? y
cp: overwrite ‘/app1/bak/text.txt’? y

[root@izwz94jtz9hbdq165vpxpxz www]# \cp t*.txt /app1/bak /没有提示按y/
[root@izwz94jtz9hbdq165vpxpxz www]#

十一、vi:修改文件内容
先按键盘字母I,编辑内容后,保存(按esc键后输入:wq)

[root@izwz94jtz9hbdq165vpxpxz www]# vi text.txt
dgdfgfhfdgh

十二、echo:创建/覆盖文件
(1)使用>指令
若文件不存在则创建文件

[root@izwz94jtz9hbdq165vpxpxz a1]# echo ‘hello world’ > hw.text
[root@izwz94jtz9hbdq165vpxpxz a1]# ls
hw.text
[root@izwz94jtz9hbdq165vpxpxz a1]# cat hw.text
hello world
(2)若文件存在,覆盖文件原内容并重新输入内容

[root@izwz94jtz9hbdq165vpxpxz a1]# cat hh.text
hello hello
[root@izwz94jtz9hbdq165vpxpxz a1]# echo ‘hi hi’ > hh.text
[root@izwz94jtz9hbdq165vpxpxz a1]# cat hh.text
hi hi
(2)使用 >>,向文件追加内容,原内容不变

[root@izwz94jtz9hbdq165vpxpxz a1]# cat hw.text
hello world
[root@izwz94jtz9hbdq165vpxpxz a1]# echo ‘yeah yeah’ >> hw.text
[root@izwz94jtz9hbdq165vpxpxz a1]# cat hw.text
hello world
yeah yeah

十三、tar:文件打包、解压(Tape archive)
(1)文件打包:tar -zcvf 打包名 文件

[root@izwz94jtz9hbdq165vpxpxz www]# ls
123.txt a2 carina requests-2.18.1.tar.gz text1.txt text3.txt text.txt
[root@izwz94jtz9hbdq165vpxpxz www]# tar -zcvf text.tar.gz 123.txt a2 text1.txt
123.txt
a2/
text1.txt
[root@izwz94jtz9hbdq165vpxpxz www]# ls
123.txt a2 carina requests-2.18.1.tar.gz text1.txt text3.txt text.tar.gz text.txt
(2)文件解压:tar -zxvf 文件名

[root@izwz94jtz9hbdq165vpxpxz app1]# tar -zxvf text.tar.gz

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值