N25-第二周作业
博客作业
1、linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示
linux上处理目录的常用命令:
ls :列出目录
cd :切换目录
pwd:显示当前工作路径
mkdir:创建目录
rm:删除文件或目录
rmdir:删除空文件
mv:剪切、重命名文件、目录
cp:复制文件或目录
touch:创建空文件
-
ls:= list:查看指定目录下文件和目录;
-
语法:
ls [选项] [目录名] -
选项与参数:
-
-a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件
-
-A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。
-
-c 配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合 -l:显示 ctime 但根据名称排序否则:根据 ctime 排序
-
-C 每栏由上至下列出项目
-
–color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是'never'、'always'或'auto'其中之一
-
-d, –directory 将目录象文件一样显示,而不是显示其下的文件。
-
-D, –dired 产生适合 Emacs 的 dired 模式使用的结果
-
-f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效
-
-g 类似 -l,但不列出所有者
-
-G, –no-group 不列出任何有关组的信息
-
-h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
-
–si 类似 -h,但文件大小取 1000 的次方而不是 1024
-
-H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地
-
–indicator-style=方式 指定在每个项目名称后加上指示符号<方式>:none (默认),classify (-F),file-type (-p)
-
-i, –inode 印出每个文件的 inode 号
-
-I, –ignore=样式 不印出任何符合 shell 万用字符<样式>的项目
-
-k 即 –block-size=1K,以 k 字节的形式表示文件的大小。
-
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。ls -l = ll
-
-L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息
-
-m 所有项目以逗号分隔,并填满整行行宽
-
-o 类似 -l,显示文件的除组信息外的详细信息。
-
-r, –reverse 依相反次序排列,按照时间顺序排列,从旧到新;
-
-R, –recursive 同时列出所有子目录层
-
-s, –size 以块大小为单位列出所有文件的大小
-
-S 根据文件大小排序
-
–sort=WORD 以下是可选用的 WORD 和它们代表的相应选项:
extension -X status -c
none -U time -t
size -S atime -u
time -t access -u
version -v use -u -
-t 以文件修改时间排序
-
-u 配合 -lt:显示访问时间而且依访问时间排序
配合 -l:显示访问时间但根据名称排序
否则:根据访问时间排序 -
-U 不进行排序;依文件系统原有的次序列出项目
-
-v 根据版本进行排序
-
-w, –width=COLS 自行指定屏幕宽度而不使用目前的数值
-
-x 逐行列出项目而不是逐栏列出
-
-X 根据扩展名排序
-
-1 每行只列出一个文件
-
–help 显示此帮助信息并离开
-
–version 显示版本信息并离开
-
例:
[root@zhao-66 ~]# ls anaconda-ks.cfg install.log shell test [root@zhao-66 ~]# ll #ls -l = ll 总用量 76 -rw-------. 1 root root 1106 5月 4 2016 anaconda-ks.cfg -rw-r--r--. 1 root root 22632 5月 4 2016 install.log drwxr-xr-x 2 root root 4096 7月 11 13:53 shell drwxr-xr-x 6 root root 4096 12月 13 14:21 test [root@zhao-66 ~]# ll -a #显示隐藏文件总用量 152 dr-xr-x---. 7 root root 4096 9月 22 12:06 . dr-xr-xr-x. 22 root root 4096 12月 13 14:17 .. -rw-------. 1 root root 1106 5月 4 2016 anaconda-ks.cfg -rw-------. 1 root root 9124 10月 1 21:25 .bash_history -rw-r--r--. 1 root root 18 5月 20 2009 .bash_logout -rw-r--r-- 1 root root 287 7月 5 15:50 .bash_profile -rw-r--r--. 1 root root 176 9月 23 2004 .bashrc -rw-r--r--. 1 root root 22632 5月 4 2016 install.log drwxr-xr-x 2 root root 4096 7月 11 13:53 shell drwx------ 2 root root 4096 6月 28 14:29 .ssh drwxr-xr-x 6 root root 4096 12月 13 14:21 test [root@zhao-66 ~]# ll -rt 总用量 76 -rw-r--r--. 1 root root 22632 5月 4 2016 install.log -rw-------. 1 root root 1106 5月 4 2016 anaconda-ks.cfg drwxr-xr-x 2 root root 4096 7月 11 13:53 shell drwxr-xr-x 6 root root 4096 12月 13 14:21 test
-
cd:Change Directory的缩写,切换目录。
-
语法:
cd [相对路径或绝对路径] -
参数:
-
-:切换到上一次打开的目录;
-
~:切换到当前用户家目录,不加参数也是切换到当前用户家目录;
-
.:当前目录
-
..:上级目录
-
例:
[root@master long]# pwd /root/long [root@master long]# cd ceshi/ [root@master ceshi]# pwd /root/long/ceshi [root@master ceshi]# cd [root@master ~]# pwd /root [root@master ~]# cd - /root/long/ceshi [root@master ceshi]# cd - /root [root@master ~]# pwd /root [root@master ~]#
-
pwd:显示当前目录的绝对路径:
-
语法:
pwd [选项] -
选项与参数:
-
一般情况下不带任何参数,如果目录是链接时:
-
格式:pwd -P 显示出实际路径,而非使用连接(link)路径。
-
例:
[root@localhost ~]# pwd /root [root@localhost ~]# cd /etc/init.d [root@localhost init.d]# pwd /etc/init.d [root@localhost init.d]# pwd -P /etc/rc.d/init.d [root@localhost init.d]#
-
mkdir:创建指定名称的目录
-
语法:
mkdir [选项] 目录 -
选项与参数:
-
-m, –mode=模式,直接配置权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask
-
-p, –parents 递归创建多层目录,即一次可以建立多个目录;
-
-v, –verbose 显示创建过程
-
–help 显示此帮助信息并退出
-
–version 输出版本信息并退出
-
例:
[root@master ceshi]# mkdir test [root@master ceshi]# mkdir -pv test1/test2/{test3,test4} mkdir: 已创建目录 "test1" mkdir: 已创建目录 "test1/test2" mkdir: 已创建目录 "test1/test2/test3" mkdir: 已创建目录 "test1/test2/test4" [root@master ceshi]# mkdir -m 644 test5 [root@master ceshi]# ll 总用量 12 drwxr-xr-x 2 root root 4096 12月 13 18:14 test drwxr-xr-x 3 root root 4096 12月 13 18:14 test1 drw-r--r-- 2 root root 4096 12月 13 18:15 test5 [root@master ceshi]# tree . ├── test ├── test1│ | └── test2 | ├── test3 | └── test4 │ └── test5 6 directories, 0 files [root@master ceshi]#
rm:删除文件、目录;注意:rm是一个危险的命令,使用的时候要特别当心;
-
语法:
rm [选项] 文件目录… -
选项与参数:
-
-f, –force 忽略不存在的文件,从不给出提示。
-
-i, –interactive 进行交互式删除
-
-r, -R, –recursive 指示rm将参数中列出的全部目录和子目录均递归地删除;用于删除目录;
-
-v, –verbose 详细显示进行的步骤
-
–help 显示此帮助信息并退出
-
–version 输出版本信息并退出
例:
[root@master ceshi]# ll 总用量 12 -rw-r--r-- 1 root root 0 12月 13 18:23 install.log -rwxr-xr-x 1 root root 0 12月 13 18:22 scp.sh drwxr-xr-x 2 root root 4096 12月 13 18:14 test drwxr-xr-x 3 root root 4096 12月 13 18:14 test1 drw-r--r-- 2 root root 4096 12月 13 18:15 test5 [root@master ceshi]# rm install.log rm:是否删除普通空文件 "install.log"?y [root@master ceshi]# rm -i scp.sh rm:是否删除普通空文件 "scp.sh"?y [root@master ceshi]# rm -rf test [root@master ceshi]# ll 总用量 8 drwxr-xr-x 3 root root 4096 12月 13 18:14 test1 drw-r--r-- 2 root root 4096 12月 13 18:15 test5 [root@master ceshi]# rm -rfv test* 已删除目录:"test1/test2/test3" 已删除目录:"test1/test2/test4" 已删除目录:"test1/test2" 已删除目录:"test1" 已删除目录:"test5" [root@master ceshi]#
-
rmdir:删除空目录,一个目录被删除之前必须是空的;删除某目录时也必须具有对父目录的写权限。
-
语法:
rmdir [选项]… 目录… -
选项:
-
-
-p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。
-
-v, –verbose 显示指令执行过程;
例:
[root@master ceshi]# mkdir -pv {test,test1/test2/{test3,test4}} mkdir: 已创建目录 "test" mkdir: 已创建目录 "test1" mkdir: 已创建目录 "test1/test2" mkdir: 已创建目录 "test1/test2/test3" mkdir: 已创建目录 "test1/test2/test4" [root@master ceshi]# tree . ├── test └── test1 └── test2 ├── test3 └── test4 5 directories, 0 files [root@master ceshi]# ll 总用量 8 drwxr-xr-x 2 root root 4096 12月 13 18:36 test drwxr-xr-x 3 root root 4096 12月 13 18:36 test1 [root@master ceshi]# rmdir test [root@master ceshi]# ll 总用量 4 drwxr-xr-x 3 root root 4096 12月 13 18:36 test1 [root@master ceshi]# rmdir -pv test1/test2/test* rmdir: 正在删除目录 "test1/test2/test3" rmdir: 正在删除目录 "test1/test2" rmdir: 删除目录 "test1/test2" 失败: 目录非空 rmdir: 正在删除目录 "test1/test2/test4" rmdir: 正在删除目录 "test1/test2" rmdir: 正在删除目录 "test1" [root@master ceshi]# ll 总用量 0 [root@master ceshi]#
-
mv:= move,可以用来移动文件或者将文件改名(move (rename) files)
-
语法:
mv [参数] 源文件或目录 目标文件或目录 -
选项:
-
-b :若需覆盖文件,则覆盖前先行备份。
-
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-
-t : –target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
-
例:
[root@master URLGenerator]# ll 总用量 28 -rwxr-xr-x 1 root root 329 5月 20 2016 restart.sh -rwxr-xr-x 1 root root 116 6月 23 20:23 start.sh_bak -rwxr-xr-x 1 root root 122 5月 20 2016 stop.sh [root@master URLGenerator]# mv -f restart.sh stop.sh [root@master URLGenerator]# ll 总用量 24 -rwxr-xr-x 1 root root 116 6月 23 20:23 start.sh_bak -rwxr-xr-x 1 root root 329 5月 20 2016 stop.sh [root@master URLGenerator]# mv start.sh_bak stop.sh mv:是否覆盖"stop.sh"? n [root@master URLGenerator]# ll 总用量 24 -rwxr-xr-x 1 root root 116 6月 23 20:23 start.sh_bak -rwxr-xr-x 1 root root 329 5月 20 2016 stop.sh [root@master URLGenerator]# mv -b start.sh_bak stop.sh mv:是否覆盖"stop.sh"? n [root@master URLGenerator]# ll 总用量 24-rwxr-xr-x 1 root root 116 6月 23 20:23 start.sh_bak -rwxr-xr-x 1 root root 329 5月 20 2016 stop.sh [root@master URLGenerator]#
-
cp:复制文件或目录;将单个或多个源文件复制至目标目录下。
-
语法:
-
单源复制:
cp [OPTION]… [-T] SOURCE DEST
选项 源
如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;
如果DEST存在:
如果DEST是非目录文件:则覆盖目标文件;
如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流; -
多源复制:
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
如果DEST不存在:错误;
如果DEST存在:
如果DEST是非目录文件:错误;
如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名; -
选项:
-
-a :–archive 等于-dR –preserve=all
-
–backup[=CONTROL] 为每个已存在的目标文件创建备份
-
-b :类似–backup 但不接受参数
-
–copy-contents 在递归处理是复制特殊文件内容
-
-d :等于–no-dereference –preserve=links
-
-f :–force: 如果目标文件无法打开则将其移除并重试(当 -n 选项
存在时则不需再选此项) -
-i : –interactive: 覆盖前询问(使前面的 -n 选项失效)
-
-H :跟随源文件中的命令行符号链接
-
-l, –link: 链接文件而不复制
-
-L, –dereference: 总是跟随符号链接
-
-n, –no-clobber:不要覆盖已存在的文件(使前面的 -i 选项失效)
-
-P, –no-dereference :不跟随源文件中的符号链接
-
-p :等于–preserve=模式,所有权,时间戳
-
–preserve[=属性列表 保持指定的属性(默认:模式,所有权,时间戳),如果
可能保持附加属性:环境、链接、xattr 等 -
-R, -r, –recursive 复制目录及目录内的所有项目
-
例:
-
[root@master URLGenerator]# tree
-
.├── config│ ├── config.xml│ ├── log4j-config.xml│ └── private.key└── lib ├── chardet.jar ├── edtftpj.jar └── jta.jar2 directories, 6 files[root@master URLGenerator]# cp config/config.xml lib/[root@master URLGenerator]# tree.├── config│ ├── config.xml│ ├── log4j-config.xml│ └── private.key└── lib ├── chardet.jar ├── config.xml ├── edtftpj.jar └── jta.jar2 directories, 7 files[root@master URLGenerator]# ll *config:总用量 12-rw-r--r-- 1 root root 2292 8月 23 16:39 config.xml-rw-r--r-- 1 root root 2940 5月 20 2016 log4j-config.xml-rw-r--r-- 1 root root 893 5月 20 2016 private.keylib:总用量 200-rw-r--r-- 1 root root 26568 5月 20 2016 chardet.jar-rw-r--r-- 1 root root 2292 12月 13 19:27 config.xml-rw-r--r-- 1 root root 156599 5月 20 2016 edtftpj.jar-rw-r--r-- 1 root root 9719 5月 20 2016 jta.jar[root@master URLGenerator]# cp -rp config/ lib/[root@master URLGenerator]# ll *config:
-
总用量 12-rw-r--r-- 1 root root 2292 8月 23 16:39 config.xml-rw-r--r-- 1 root root 2940 5月 20 2016 log4j-config.xml-rw-r--r-- 1 root root 893 5月 20 2016 private.keylib:总用量 204-rw-r--r-- 1 root root 26568 5月 20 2016 chardet.jardrwxr-xr-x 2 root root 4096 12月 13 19:25 config-rw-r--r-- 1 root root 2292 12月 13 19:27 config.xml-rw-r--r-- 1 root root 156599 5月 20 2016 edtftpj.jar-rw-r--r-- 1 root root 9719 5月 20 2016 jta.jar[root@master URLGenerator]#
-
touch:一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个空文件;
-
语法:
touch [选项]… 文件名… -
选项与参数:
原创文章,作者:moer,如若转载,请注明出处:http://www.178linux.com/67845
评论列表(1条)
不错,结构清晰,再接再励。