Linux的命令--6

问题:如果服务器里加了一块磁盘也只是一个根吗?


57A78207014D66126A269B9547024AAC.jpg

从图上表明,Linux永远一直都是单根的


Windows里,我们会有文件和目录的区分。
Linux一切皆为文件,文件是一个文件,目录其实也是一个文件


一:文件管理之命令
1.创建文件:touch
命令 路径
touch ...... # touch file # 无则创建,有则修改时间(相当于覆盖了前面的文件)

touch file2 file3 # 在当前家目录创建了file2和file3两个文件
touch /home/od/{file4,file5} #在根下的home下的old目录下创建了file4 和file5 两个文件
touch file{a,b,c} # 在当前家目录创建了file alb,c 三个文件,用逗号隔开 {}集合,等价 touch a b c
touch file{a..z}。 #在当前家目录创建file a到z 26个文件
touch file{A..Z} #当前家目录创建file A到Z 26个文件
(⚠️:只能大写到大写,不能大写到小写,也不能反过来)
touch file{1..10}。 #当前家目录创建file 1到10 10个文件


Xnip2020-03-05_17-21-40.jpg

2.创建目录:mkdir ( 目录通常显示为蓝色,,就像Windows里的文件夹)
(你要在目录下创建文件,要是目录存在就不会报错,如果不存在就会报错,就需要创建目录。)
命令: mkdir
选项: -p :递归的方式创建目录
-v :显示详细信息

参数: 路径,在哪里创建


Xnip2020-03-05_17-27-30.jpg

例1:
[root@oldboy ~]# mkdir /Oldboy/books/1/2/3 -p # 想多创建目录。-p递归的方式不能忘

例2:
[root@oldboy ~]# mkdir /home/od/dir1 /home/od/dir2 -p
[root@oldboy ~]# ls /home/od/
dir1 dir2


Xnip2020-03-05_17-48-55.jpg
Xnip2020-03-05_17-45-26.jpg

例3:
[root@oldboy ~]# mkdir /home/od/{dir3,dir4}
[root@oldboy ~]# ll /home/od/
# 这个是因为已经有od这个目录,所以在od目录下就可以用大括号添加dirl3 和dirl4就不会报错
total 0
drwxr-xr-x. 2 root root 6 Mar 5 10:08 dir1
drwxr-xr-x. 2 root root 6 Mar 5 10:08 dir2
drwxr-xr-x. 2 root root 6 Mar 5 10:10 dir3
drwxr-xr-x. 2 root root 6 Mar 5 10:10 dir4

例4:
[root@oldboy ~]# mkdir -pv /home/{od/{diu,but},boy}
#相当于是home下加了两个文件,一个od,一个boy。然后在od下又有两个文件,一个diu 一个but,所以需要加-p,进行递归
/home/od
/home/od/diu
/home/od/but
/home/boy
⚠️:tree 将目录以树状结构显示,如果没有该命令怎么办?
yum install tree -y (可能需要下载)
终端中文变英文:输入LANG=en


3.拷贝文件:cp (拷贝目录添加r)
[OPTION]... SOURCE... DIRECTORY
命令:cp
选项: -v:详细显示命令执行的操作
-r: 递归处理目录与子目录
-p: 保留源文件或目录的属性
参数:路径

例1:将当前目录下的file文件拷贝至/tmp/目录下
[root@oldboy ~]# cp file /tmp/ #将当下家目录文件拷贝到/tmp里。如果tmp里有了,可自动跳过。

例2:将当前目录下的file文件拷贝至/tmp/目录下,并改名为test.txt
[root@oldboy ~]# cp file /tmp/test.txt

例3:重复拷贝一个文件,至/tmp/目录,会提示是否覆盖
[root@oldboy ~]# cp file /tmp/test.txt
cp: overwrite '/tmp/test.txt'? #如果直接回车,则无反应
[root@oldboy ~]# cp file /tmp/test.txt
cp: overwrite '/tmp/test.txt'? y #如果输入 y 则确定覆盖


Xnip2020-03-05_18-21-49.jpg

例4:直接使用cp无法拷贝目录,需要添加-r参数,才可以
[root@oldboy ~]# cp -r /root/data/ /tmp/

例5:将多个文件拷贝到/tmp/data目录下(cp的最后一个目录就是目标,中间的都是要拷贝的源文件)
[root@oldboy ~]# cp file01 file02 file3 /tmp/data/
[root@oldboy ~]# ls /tmp/data/
file01 file02 file3

例6: -v显示拷贝的过程,通常我们都不用他
[root@oldboy ~]# cp file04 /tmp/data/ -v
'file04' -> '/tmp/data/file04'


Xnip2020-03-05_18-32-11.jpg

例7:-p 源文件之前是什么属性。就是什么属性。不改变。

变更一下文件的权限(不用理解什么意思)

[root@oldboy ~]# chown adm file04
-rw-r--r--. 1 adm root 0 Mar 5 09:44 file04

[root@oldboy ~]# cp -p file04 /tmp/fil04_test
[root@oldboy ~]# ll /tmp/fil04_test
-rw-r--r--. 1 adm root 0 Mar 5 09:44 /tmp/fil04_test


4.移动文件
对文件进行改名:
mv [OPTION]... SOURCE... DIRECTORY

例子1:
[root@oldboy ~]# mv file /tmp/ #移动file文件至/tmp目录
[root@oldboy ~]# mv file /tmp/file_mmm #移动file文件至/tmp目录下并修改文件名称

例子2:
[root@oldboy ~]# mkdir /tmp/test #准备一个接收文件的目录
[root@oldboy ~]# mv filea fileb filec /tmp/test #移动多个文件至一个目录下
[root@oldboy ~]# mv file{01..10} /tmp/test #移动多个文件至一个目录下

例子3:给文件进行修改名称 (可直接修改)
[root@oldboy ~]# mv file1 oldxu

例子4:mv可以直接移动目录,无需任何参数

[root@oldboy ~]# mv data/ /tmp/test/


Xnip2020-03-05_18-44-10.jpg

5.删除文件或目录:
rm [OPTION]... FILE...
命令:rm
选项: -r: 递归
-f: 强制删除
-v: 详细过程
参数:路径

例子1:删除文件时候,会提醒是否删除。 (原因是默认rm存在alias别名,rm -i所以会提醒是否删除文件)
[root@oldboy ~]# rm file.txt

例子2:删除文件时,不要提示,直接就删除。
[root@oldboy ~]# rm -f file2 file3 file4 file5

例子3:删除目录,可以使用-r递归删除,但是会提示
[root@oldboy ~]# mkdir qq
[root@oldboy ~]# touch qq/1
[root@oldboy ~]# touch qq/2
[root@oldboy ~]# touch qq/3

[root@oldboy ~]# rm -r qq/ #会不断提示,很费劲
rm: descend into directory 'qq/'? y
rm: remove regular empty file 'qq/1'? y
rm: remove regular empty file 'qq/2'? y
rm: remove regular empty file 'qq/3'?

例子4:-rf组合使用,可以删除任何东西,很危险,谨慎操作。
[root@oldboy ~]# rm test/ -rf

例子5:
[root@oldboy ~]# touch file{1..10}
[root@oldboy ~]# rm -f file* # *表示通配符,表示所有的意思

例子6:
[root@oldboy ~]# touch file{1..10}.txt # file1.txt file2.txt ..... file10.pdf
[root@oldboy ~]# touch file{1..10}.pdf # file1.pdf file2.pdf ..... file10.pdf

[root@oldboy ~]# rm -f file* #能删除名字是file开始的,后面是啥都不重要,会全部被删除
[root@oldboy ~]# rm -f .pdf #删除所有.pdf结尾的文件
[root@oldboy ~]# rm -f ./
#删除当前目录下的所有文件

注意:引入一个特殊的符号, "*" 表示匹配所有

实验: 1.创建了一推的文件,文件要进行分门别类存储起来。
1) 创建一推文件 { /data/filea-filez }
2) 创建一个目录 { /data/dir }
3) 将文件剪贴到对应目录
4) 删除文件 { /data/dir/* }

1.创建一个/data目录,然后在/data目录下创建对应的文件。
[root@oldboy ~]# mkdir -p /data #创建目录
[root@oldboy ~]# touch /data/file{a..z} #在目录下创建文件
[root@oldboy ~]# ls /data/ #检查一下
filea filed fileg filej filem filep files filev filey
fileb filee fileh filek filen fileq filet filew filez
filec filef filei filel fileo filer fileu filex

2.创建一个/data/dir目录。
[root@oldboy ~]# mkdir /data/dir -p
[root@oldboy ~]# ls /data/
dir filec filef filei filel fileo filer fileu filex
filea filed fileg filej filem filep files filev filey
fileb filee fileh filek filen fileq filet filew filez

3.移动data目录下的文件至/data/dir目录中
[root@oldboy ~]# mv /data/file{a..z} /data/dir/ #将文件都移动到/data/dir目录中
[root@oldboy ~]# ls /data/ #检查/data/目录
dir
[root@oldboy ~]# ls /data/dir/ #检查/data/dir目录,确认文件是否移动成功
filea filed fileg filej filem filep files filev filey
fileb filee fileh filek filen fileq filet filew filez
filec filef filei filel fileo filer fileu filex

4.删除/data/dir/所有文件
[root@oldboy ~]# rm -f /data/dir/* #删除/data/dir下的所有文件
[root@oldboy ~]# ls /data/ #检查/data/目录
dir
[root@oldboy ~]# ls /data/dir/ #检查/data/dir/目录


Xnip2020-03-05_22-19-28.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容