2020-03-05Linux 命令

1,创建文件:touch

命令        路径

touch      ......

# touch file                    # 无则创建,有则修改时间

# touch file2 file3

# touch /home/od/file4 file5

# touch file{a,b,c}            # {}集合,等价 touch a b c

# touch file{a..z}

# touch file{A..Z}

# touch file{1..10}

# touch file{a..z}


2,创建目录:mkdir  ( 目录通常显示为蓝色)

命令: mkdir

选项: -p  -v

参数: 路径,在那里创建

例1:

[root@oldboy ~]# mkdir data -p

例2:

[root@oldboy ~]# mkdir /home/od/dir1 /home/od/dir2 -p

[root@oldboy ~]# ls /home/od/

dir1  dir2

例3:

[root@oldboy ~]# mkdir /home/od/{dir3,dir4}

[root@oldboy ~]# ll /home/od/

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

/home/od/diu

/home/od/but

/home/boy

tree  将目录以树状结构显示,如果没有该命令怎么办?

yum install tree -y


3,拷贝文件:cp [OPTION]... SOURCE... DIRECTORY

命令:cp

选项: -v:详细显示命令执行的操作 -r: 递归处理目录与子目录 -p: 保留源文件或目录的属性

参数:路径

例1:将当前目录下的file文件拷贝至/tmp/目录下

[root@oldboy ~]# cp file /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  则确定覆盖

例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'

例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/


选项: -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/目录


touch   创建文件,文件多的情况下,可以用集合表示{}

mkdir  创建目录      目录通常是蓝色

创建多个目录一般用选项-p,-v用来显示过程,一般不用

tree   查看目录的下的子目录,以树状结构显示

cp  拷贝,路径还可以改名,选项-v显示详细的命令执行操作,无法拷贝目录的时候用-r,递归处理目录与子目录,-p 保留原文件或目录的属性。

mv移动文件,也可对文件进行改名,移动多个文件可以使用{},可以移动目录,不需要任何参数

rm删除文件或目录,-r是递归删除,-f是强制删除,-rf组合使用,可以删除任何东西,很危险,需要谨慎操作,引入一个特殊符号*,表示匹配所有,只要*出现,所有符合的文件或目录都会被删除。

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

推荐阅读更多精彩内容