第二周-关于linux文件管理
Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关演示
常见的命令有如下几条:
- touch命令
- 用法:
touch [-acdmt] 文件名- 选项参数:
-a :仅修订 access
time
-c :仅修改文件的时间,若该文件不存在则不创建新文件
-d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m :仅修改 mtime
-t :后面可以接欲修订的时间而不用目前的时间,格式为[YYMMDDhhmm]
- ls命令
- 用法:
ls [选项] [文件名]
-选项参数:
-a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来 (常用)
-A :全部的文件,连同隐藏档,但不包括 . 与 .. 这两个目录
-d :仅列出目录本身,而不是列出目录内的文件数据 (常用)
-f :直接列出结果,而不进行排序 (
ls默认会以档名排序!)
-h :将文件容量以人类较易读的方式(例如 GB, KB 等等)列出来 (常用)
-i :列出 inode 号码(常用)
-l :长数据串列出,包含文件的属性与权限等等数据 (常用)
-n :列出 UID 与 GID 而非使用者与群组的名称
-r :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小
-R :连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来 (常说的递归)
-S :以文件容量大小排序,而不是用档名排序
-t :依时间排序,而不是用档名
- cd命令
- 用法: cd [相对或绝对路径]
- pwd命令
- 用法: pwd [-P]
- 选项参数:
- mkdir命令
用法: mkdir [-mp] 目录名
- rmdir命令
用法: rmdir [选项]... 目录...
- cp命令
- 用法:
单源复制:cp [OPTION]... [-T] SOURCE DEST
多源复制:cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...- 选项参数:
-i:交互式复制,即覆盖之前提醒用户确认;
-f:强制覆盖目标文件;
-r, -R:递归复制目录;
-d:复制符号链接文件本身,而非其指向的源文件;
- cat命令
- 用法:
cat [选项]... [文件]...
将[文件]或标准输入组合输出到标准输出。- 选项参数:
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-b, --number-nonblank 对非空输出行编号
- tac命令
tac命令:与cat功能相近,只是逆序显示文件内容
- mv命令
- 用法:
mv [-fiu] source destination
-选项参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
-u :若目标文件已经存在,且
source 比较新,才会升级 (update)
- rm命令
- 用法:
rm [-fir] 文件或目录- 选项参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除最常用在目录的删除
- head命令
- 用法: head [-n number] 文件
- 选项: -n :后面接数字,代表显示几行的意思
- tail命令
- 用法: tail [-n number] 文件
- file命令
查看文件类型
bash的工作特性之命令执行状态返回值和命令行展开
执行状态返回值
若执行状态成功则返回0;若不成功则返回1-255的任意值
- 命令行展开
创建/tmp目录下的:ac, ad, bc, bd
创建/tmp/mylinux目录下的一系列目录
文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息
元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode...)等等
使用touch命令,vim编辑文件,mv修改文件名都可以修改时间戳
如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
语法:# alias name='command line'
取消别名:ualias
alias的作用仅在该次登入的操作,即输入一次alias后,这个修改只在当前的Shell生效。如果重新开启一个 Shell,或者重新登录,则这些alias将无法使用。好在linux中提供alias永久化的方法:
<1>.若要每次登入就自动生效别名,则把别名加在/etc/profile或~/.bashrc中。然后# source ~/.bashrc
<2>.若要让每一位用户都生效别名,则把别名加在/etc/bashrc最后面,然后# source /etc/bashrc
显示/var目录下所有以1开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件或目录
~]# ls -d /var/1*[0-9]*[[:lower:]]
显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件夹或目录
~]# ls -d /etc/[0-9]*[^0-9]
显示/etc目录下,以非字母开头,后面跟一个字母以及其他任意长度任意字符的文件或目录
~]# ls -d /etc/[^[:alpha:]][[:alpha:]]*
在/tmp目录下创建以tfile开头,后面跟当前日期和时间的文件
~]# touch tfile-$(date +%Y-%m-%d-%H-%M-%S)
复制/etc目录下所有以p开头以非数字结尾的文件和目录到/tmp/mytest1目录中
~]# cp -r /etc/p*[^[:digit:]] /tmp/mytest1
复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中
~]# cp -r /etc/*.d /tmp/mytest2
复制/etc目录下所有以l或者m或者n开头,以.conf结尾的文件至/tmp/mytest3目录中
~]# cp /etc/{l,m,n}*.conf /tmp/mytest3