linux文件类型:
f,d,l,c,b,p,s,
查看文件类型: file
文件的三个时间戳:
atime
mtime: 数据内容改变
ctime: 元数据改变
查看时间戳: stat
别名的定义:(命令行定义的别名,其生效范围为当前会话;编辑配置文件则可长久有效)
alias ALIAS=COMMAND 如 #alias cls=clear
unalias [ALIAS]
-a 撤消所有别名
命令引用:
bash支持的引用:
‘‘
""
`` 如 # touch file-`date +%H-%M-%S`.txt 则创建了一个以当前时间
为名字的文件。
$()更为常用,易读性更强
文件名通配:globbing
*: 匹配任意长度的任意字符(空格也算;任意长度则说明无字符也算,如ls *ab
则将ab, xab等都列出来)
?: 单个任意字符(空格也算)
[]: 匹配指定范围内的任意单字符
[a-z],[0-9],[0-9a-z]
[^]: 匹配指定范围以外的任意单字符
[^0-9a-z]
字符集合:
[:sapce:]:空白字符
[:punct:]:所有标点符号
[:lower:]:所有小写字母
[:upper:]
[:digit:]
[:alnum:]:数字和字母
[:alpha:]: 所有的大小字母
echo命令
echo [-neE] [arg ...]
\n
\t
\033[
单个数字:控制字体
3#:#是数字,3表示控制其前景色
4#:#是数字,4表示控制其背景色
组合使用,彼此间使用;分隔
m: 是固定格式
\033[0m: 控制符的功能至此结束
文件管理类命令
cp:copy复制
cp SRC DEST
cp SRC... DEST SRC不止一个,DEST则必须存在且为目录
cp 默认不能复制目录,可加-r参数来实现复制目录 recursive
-i: interactive
-f: force
mv:move移动
mv SRC... DEST
-i: interractive
rm: remove 删除
-r: recursive
-f: force
-i:
--no-presever-root: 删根时加的长参数
文本编辑命令: nano
ctrl+o: 保存
ctrl+x: 退出
文本处理命令: wc
wc /etc/inittab 显示行数,单词数,字节数
-l: line 行数
-w: word 单词数
-c: characters
cut: 切隔 cut -d: -f1,7 /etc/passwd
-d:指定分隔符
-f:指定要显示的字段
m:第m列
m,n:第m和n列
m-n: 第m到第n列
sort: 对文本进行排序 sort -t: -k3 /etc/passwd 以冒号分隔,对第3个字段进行排序比较
-f: 忽略字符大小写
-t: 指定分隔符
-k: 指定分隔之后要进行排序比较的字段
-u: 排序后去重
uniq:
-d: duplicate 仅显示重复的行
-u: 仅显示未曾重复过的行
-c: 统计行出现的次数
应用题:取出/etc/passwd文件中第7个用户的用户名:
# head -n 7 /etc/passwd | tail -n 1 | cut -d: -f 1
统计/etc目录下以大小写p开头的文件的个数:
# ls -d /etc/[pP]* | wc -l
文件系统
标准输入 0 键盘
标准输出 1 显示器
错误输出 2 显示器
重定向:
标准输出重定向:
COMMAND > POSITION: 覆盖输出
COMMAND >> POSITION:追加输出
错误重定向:
COMMAND 2> POSITION
COMMAND 2>> POSITION
合并重定向:
COMMAND &> POSITION 合并覆盖重定向
COMMAND &>> POSITION 合并追加重定向
分别重定向:
COMMAND > POSITION 2> POSITION2
输入重定向
如文本处理命令不带参数
tr ‘SET1‘ ‘SET2‘
-d: 删除指定字符集合中的所有字符
<< Here Document 结束 如: cat << END
多道输出:
COMMAND | tee POSITION