1. linux上的文件管理类命令
1.1. 目录管理类命令
cd [dir] 切换目录
pwd: 显示当前目录
ls [OPTION]… [DIR]…
-a, –all: 显示所有文件,包括隐藏文件;
-l: 长格式
-rw-r–r– 1 root root 44800 Aug 14 14:32 install.log
-rw-r–r–:
最左侧的第一位:文件类型
-, d, l, b, c, p, s
后面的9位:访问权限,perm
数字:文件被硬链接的次数;
左root: 文件的owner
右root: 文件的group
44800:文件的size
Aug 14 14:32 : 文件的最近一次被修改的时间
install.log: 文件名
-h, –human-readable:单位换算
-d: 显示目录自身的相关属性;通常要与-l一起使用;
-r, –reverse: 逆序显示
-R, –recursive: 递归
mkdir [options] /path/to/somewhere
-p: 存在于不报错,且可自动创建所需的各目录;
-v: 显示详细信息
-m MODE: 创建目录时直接指定权限;
tree:
-d: 只显示目录
-L level:指定显示的层级数目
-P pattern: 只显示由指定pattern匹配到的路径;
rmdir:删除空目录
rmdir [OPTION]… DIRECTORY…
-v: 显示过程;
1.2. 文本文件查看类命令
cat [OPTION]… [FILE]…
-E: 显示行结束符$
-n: 对显示出的每一行进行编号:
more [OPTIONS…] FILE…
-d: 显示翻页及退出提示
less [OPTIONS…] FILE…
head [OPTION]… [FILE]…
-c #: 指定获取前#字节
-n #: 指定获取前#行
-#:
tail [OPTION]… [FILE]…
-c #: 指定获取后#字节
-n #: 指定获取后#行
-f: 跟踪显示文件新追加的内容;
1.3. 文件管理类命令
cp [OPTION]… [-T] SOURCE DEST
SRC是文件:
如果目标不存在:新建DEST,并将SRC中内容填充至DEST中;
如果目录存在:
如果DEST是文件:将SRC中的内容覆盖至DEST中;
此时建议为cp命令使用-i选项;
如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;
cp [OPTION]… SOURCE… DIRECTORY
SRC…:多个文件
DEST必须存在,且为目录,其它情形均会出错;
cp [OPTION]… -t DIRECTORY SOURCE…
SRC是目录:
此时使用选项:-r
如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;
如果DEST存在:
如果DEST是文件:报错
-i:交互式
-r, -R: 递归复制目录及内部的所有内容;
-a: 归档,相当于-dR –preserv=all
-d:–no-dereference –preserv=links
–preserv[=ATTR_LIST]
mode: 权限
ownership: 属主属组
timestamp:
links
xattr
context
all
-p: –preserv=mode,ownership,timestamp
-v: –verbose
-f: –force 如果DEST是目录:询问是否覆盖原文件
mv: move,移动文件
-i: 交互式
-f: 强制
rm [OPTION]… FILE…删除文件
-i: 交互式
-f: 强制删除
-r: 递归
2. bash特性
2.1. bash命令的执行状态结果
成功:0
失败:1-255
echo $?:输出状态结果
2.2 命令行展开
~ :展开为用户的主目录
~ HOMENAME:展开指定用户的家目录
{}:以逗号分隔,并展开为多个路径
3. 使用命令行展开功能完成练习
3.1 创建/tmp目录下的:a_c,a_d,b_c,b_d
[root@localhost tmp]# mkdir {a,b}{c,d}
[root@localhost tmp]# ls
ac ad bc bd
[root@localhost tmp]#
3.2 创建指定目录
[root@localhost tmp]# mkdir -p mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
[root@localhost tmp]# tree mylinux/
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
24 directories, 0 files
4. 元数据
元数据使用stat查看
三个时间戳:
access time:访问时间cp –,简写为atime,读取文件内容
modify time: 修改时间, mtime,改变文件内容(数据)
change time: 改变时间, ctime,元数据发生改变
使用touch命令修改时间戳
touch [OPTION]… FILE…
-a: only atime
-m: only mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
5. 别名
定义别名可以使用alias命令实现
alias NAME='VALUE'
定义别名NAME,其相当于执行命令VALUE
也可以在配置文件中定义
~/.bashrc : 仅对当前用户
/etc/bashrc : 对所有用户有效
5.1.管道
COMMAND1 | COMMAND2 | COMMAND3 |…
| 后面的命令引用前面命令的结果
6.显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录
ls -d /var/l*[0-9]*[a-z]
7.显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录
ls -d /etc/[0-9]*[^0-9]
8.显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录
ls -d /etc/[^a-z][a-z]*
9. 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
touch tfile-$(date +%F-%H-%M-%S)
10. 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中
cp -R /etc/p*[^0-9] /tmp/mytest1
11. 复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中
cp -R /etc/*.d /tmp/mytest2
12.. 复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中
cp -R /etc/[lmn]*conf /tmp/mytest3/
原创文章,作者:Net20_有马,如若转载,请注明出处:http://www.178linux.com/18670
评论列表(1条)
写的很棒,把命令的常用参数都列举出来了,如果在添加一些案例会更好,另外可以关注一下排版,可以做的更美观,第10、12有点小瑕疵,在看看题目修改一下,加油