一、Linux 文件管理类命令
cd、pwd、mkdir、rmdir、ls、cp、rm、mv、cat、tac、more、less、head、tail、touch
1、目录类相关命令
cd:change directory 切换目录
pwd:print work directory 显示当前目录
mkdir:make directories 新建目录
rmdir:删除目录
绝对路径与相对路径
绝对路径:路径的写法一定是由根目录/写起,列如/usr/share/doc
相对路径:路径的写法不是由根/目录写起,如:/usr/share/doc 要到/usr/share/man 可以写成 cd../man
(1)cd:
用来切换工作目录至dirname。其中dirname可为绝对路径或相对路径。若目录名称省略,则变换至使用者的家目录 home directory。"~"表示为家home directory 的意思;"." 表示当前目录;".."表示目录的上一层目录。
用法:cd [options] [参数] 绝对路径或相对路径
(2)pwd:
pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全部路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录。最后一个目录是当前目录。
(3)mkdir
mkdir命令用来创建目录,在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。
用法:mkdir [选项] [参数]
-m –mode <目标属性> 建立目录的同时设置目录的权限
-p –parents 若所要创建的目录上层目录不存在时,则会一并建立上层目录。
(4)rmdir:
rmdir命令删除空目录
-p –parents 连同上层“空目录”目录也一起删除
–ignore-fail-on-non-empty 忽略由于删除空目录时导致的错误信息
-v –verbose 显示命令的详细执行过程
2、文件与目录管理
ls:查看文件与目录
cp:复制文件或目录
rm:删除文件或目录
mv:移动文件或目录
(1)ls
显示文件
用法:ls [OPTION]… [FILE]…
-a 显示全部文件,包括隐藏文件
-A 显示全部文件,不包括隐藏文件(.和..)
-d 仅列出目录本身,而不是列出目录内的文件数据
-h 将文件容量以人类易读的方式列出来
-l 列出长数串,包含文件的属性与权限
(2)cp:copy
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数不行是一个已经存在的目录,否则将会错误。
cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
-a 相当于"pdr"
-d 若源文件为连接文件的属性 则复制连接文件的属性而非文件本身
-f 为强制(force)的意思若目标文件已经存在且无法开启,则删除后再尝试一次
-i 若目标文件(destination)已经存在时,在覆盖时会先询问操作的进行
-l 进行硬链接的连接文件创建,而非复制文件本身
-p 连同文件属性本身一起复制,而非使用默认属性
-r 递归复制
-s 复制成为符号链接文件
参数:
源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项
目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录
(3)mv:
mv命令用来对文件或目录重新命名,或者将文件从一个目录移动到另一个目录。source表示源文件或目录,target表示目标文件或目录,如果将一个文件移动到一个已经存在的目标文件中,则目标文件的内容将被覆盖
mv 命令可以用来将源文件移至一个目标文件中,或将一组文件移至目标目录中,源文件被移动至目标文件有两种不同结果
1 如果目标文件是到某一目录文件的路径,源文件会被移动到此目录下,且文件名不变
2 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖已存在的同名文件。如果源文件和目标文件在同一目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中,所有移动到该目录下的文件都将保留以前的文件名。
注意:mv与cp的结果不同,mv好像文件"搬家",文件个数并为增加。而cp对文件进行复制,文件个数增加了。
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
-f force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i 若目标文件(destination)已经存在时,就会询问是否覆盖
-u 若目标文件已经存在,且source比较新,才会更新
(4)rm:
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及子目录均删除。对于连接文件,只是删除整个连接文件,而原有文件保持不变
注意:使用rm命令要格外小心,因为一旦删除了一个文件,就无法再恢复它,所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除,rm命令可以用 -i 选项,这个选项在使用文件扩展名字符删除多个文件时特别有用,使用这个选项,系统会要求你逐一确定是否要删除,这时,必须要输入y并按Enter键才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
rm [OPTION]… FILE…
-f force的意思,立即删除,不会出现警告信息
-i 互动删除,在删除前询问用户是否执行此操作
-r 递归删除,删除目录
3.文件内容查看
cat:由第一行开始显示文件内容
tac:由最后一行开始显示文件内容
more:一页一页的显示文件类容
less:与more类似,但可以向前翻页
head:只看头几行
tail:只看结尾几行
touch:修改文件时间或创建新文件
(1)cat
cat命令连接文件并打印到标准输出设备上,
注意:当文件较大时,文本在屏幕上迅速闪过,用户往往看不清所显示的内容,因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏,按Ctrl+Q键可以恢复滚屏,按Ctrl+C键可以终止命令执行
cat [OPTION]… [FILE]…
-n 打印行号,连空白行也会显示行号
-b 列出行号,仅针对非空白行做行号显示,空白行不标行号
(2)tac 与cat刚好向反
(3)more
more命令是一个基于vi编辑器文本过滤器,它以全屏的方式显示文本文件内容,支持vi中的关键字定位操作 ,内置了若干快捷键 Enter(向下翻滚一行)、空格(向下滚动一屏)Q(退出命令)
(4)less
less命令的作用与more十分相似,都可以用来浏览文字档案的内容,但它比more根据有弹性,它可以向前查看文件内容
空格键 向下翻动一页
[PageDown] 向下翻动一页
[PageUp] 向上翻动一页
/字符串 向下查询字符串的功能
?字符串 向上查询字符串的功能
n 重复前一个查询(与/或?有关)
N 反向重复前一个查询(与/或?有关)
(5)head
取出前面几行
-n # 后面接数字,代表显示几行的意思
(6)tail
取出后面几行
-n # 后面接数字,代表显示几行的意思
-f 表示持续检测后面所接的文件名,要等到按下Ctrl+c才会结束tail的检测
(7)touch
修改文件时间或创建新文件
任何文件都有三个时间
modification time(atime)
当该文件的“内容数据”更改时,就会更新这个时间,内容数据指的是文件的内容,而不是文件的属性或权限
status time (ctime)
当文件的“状态”改变时,就会更新这个时间,像是权限或属性被更改了,都会更新这个时间
access time(atime)
当“文件的内容被取用”就会更新这个读取时间,我们使用cat读取/etc/man.config,就会更新该文件的atime了
-a或 –time=atime 只更改存取时间
-c 不见了任何文件
-d 指定的日期时间,而非现在的时间
-m或 –time=mtime 只更改变动时间
二、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容
1、 命令行展开
~ 自动展开为用户的家目录,或者指定用户的家目录
{} 可承载一个逗号分隔的路径列表,并能够将其展开为多个路径
列:/tmp/{a,b} 相当于/tmp/a,/tmp/b
2、命令执行状态结果
bash 通过状态返回值来输出此结果
成功:0
失败:1-255
命令执行完成后,其状态返回值保存于bash的特殊变量$?中
三、命令展示
1、mkdir /tmp/{a,b}_{c,d}
2、mkdir -v -p /tmp/mylinux/{bin,boot/grup,dev,etc/{rc.d/init.d,sysconfig/network-script},lib/modules,lin64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
四、文件的元数据
文件的元数据就是描述数据特性的一些信息:包括 权限、大小、属主属组。可通过stat命令查看
包括
名称
块大小
indoe
权限
最近改动、更改、访问时间
touch 命令可更改文件的时间戳
-a 只改访问时间
-m 只改更改时间
-t STAMP [[CC]YY]MMDDhhmm[.ss]
五、定义命令别名
1、使用alias 命令定义命令别名,只对当前shell有效,要想全局有效修改配置文件~/bashrc
alias 新的命令="原命令-选项/参数"
-p 查看当前已经设置的别名
2、使用管道符 | 引用前一个命令的执行结果
六、 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录?
ls -d /var/l*[0-9]*[[:lower:]]
七、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录?
[root@localhost ~]# ls -d /etc/[0-9]*[^[:digit:]
八、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录?
[root@localhost ~]# ls -d /etc/[^[:alpha:]][[:alpha:]]*
九、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22?
[root@localhost ~]# cd /tmp/
[root@localhost tmp]# touch tfile-`date +"%Y-%m-%d-%H-%M-%S"`
十、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中?
[root@localhost ~]# cd /tmp
[root@localhost tmp]# mkdir mytest1
[root@localhost tmp]# cd
[root@localhost ~]# cp -a /etc/p*[^0-9] /tmp/mytest1
十一、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中?
[root@localhost ~]# cd /tmp/
[root@localhost tmp]# mkdir mytest2
[root@localhost tmp]# cd
[root@localhost ~]# cp -a /etc/*.d /tmp/mytest2
十二、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中?
[root@localhost ~]# cd /tmp
[root@localhost tmp]# mkdir mytest3
[root@localhost tmp]# cd
[root@localhost ~]# cp -a /etc/[l,m,n]*.conf /tmp/mytest3
原创文章,作者:ttxsjh,如若转载,请注明出处:http://www.178linux.com/38379
评论列表(1条)
写的很好,排版还可以在漂亮一点,加油,3大题2小题的答案不对