标签:根目录 模拟 fas copy rbo 相对 大小写 sort ESS
command [options] [arguments]
选项
短选项 –h –l –a
短选项可以组合 -hla
有些命令短选项可以不带- 通常称作BSD风格的选项 ps aux , tar xf
有些选项需要带参数 tail –n 2 /etc/passwd
长选项 --help , --list
长选项 不能组合
如果需要参数 长选项的参数通常需要=号 --size=1G
命令后的参数 就是命令的作用对象
ls /root
cat /etc/passwd
命令帮助
内部命令
Help command
外部命令
command –help
change directory
返回到用户主目录
[root@WebServer tmp]# cd
[root@WebServer ~]# cd /tmp
[root@WebServer tmp]# cd ~
返回到其他用户的主目录
[root@WebServer ~]# cd ~hanlihui
当前路径和上一个路径来回切换
[root@WebServer hanlihui]# cd -
/root
[root@WebServer ~]# cd -
/home/hanlihui
[root@WebServer hanlihui]# cd -
/root
当前路径和上一个路径保存在这两个变量中
[root@WebServer ~]# echo $PWD
/root
[root@WebServer ~]# echo $OLDPWD
/home/hanlihui
绝对路径 以根目录开始的路径
相对路径 以当前目录为参照
.. 上级目录
. 代表当前目录
list 列出文件夹中的内容 文件 文件夹
-a 列出目录中全部文件和目录 包括隐藏文件
-l 长格式显示
-R 递归显示
-d 只显示目录本身一些属性
-r 逆序排序输出
-p, --parents 需要时创建目标目录的上层目录,
-v, --verbose 每次创建新目录都显示信息
[root@WebServer ~]# mkdir /tmp/homework/zhang -pv
只能删除空文件夹
-p, --parents 删除指定目录及其上级文件夹
-v, --verbose 输出处理的目录详情
显示目录结构
[root@WebServer /]# mkdir /mnt/cdrom
[root@WebServer /]# mount /dev/cdrom /mnt/cdrom/
[root@WebServer /]# find /mnt/cdrom/Packages/ -name "tree*"
/mnt/cdrom/Packages/tree-1.5.3-2.el6.x86_64.rpm
[root@WebServer /]# rpm -i /mnt/cdrom/Packages/tree-1.5.3-2.el6.x86_64.rpm
[root@WebServer /]# tree /abc
1.普通文件 标识 - f
2.目录文件 标识 d
3.链接文件
软链接 标识 l
硬链接 标识 -
4.特殊文件 用于作为硬件设备访问的文件
块设备 随机 按块进行读取 标识 b
字符设备 有前后顺 标识 c
5.套接字文件 socket 让两个进程进行通信 使用软件模拟的设备 标识 s
6.命名管道 pipe 标识 p
copy 拷贝文件
拷贝过程不指定目标文件名 则目标文件名和源文件名一样
[root@WebServer ~]# cp /91xueit/teacher.txt 51cto/
拷贝过程指定目标文件名称
[root@WebServer ~]# cp /91xueit/teacher.txt 51cto/teacher1.txt
[root@WebServer ~]# cp 51cto/teacher.txt 51cto/teacher1.txt /tmp
将51cto文件夹中扩展名是txt的文件拷贝到当前目录
[root@WebServer ~]# cp 51cto/*.txt .
将51cto文件夹拷贝到/tmp文件夹
[root@WebServer ~]# cp -R 51cto/ /tmp
只有管理员能够将文件拷贝 权限不变
[root@WebServer ~]# cp -p /home/hanlihui/hanlihui.txt 51cto/
-d 保留文件的链接属性
-a 保留所有属性
remove 删除
查看rm帮助
[root@WebServer ~]# rm –help
删除单个文件
[root@WebServer ~]# rm 51cto/teacher.txt
-r 删除51cto目录中的文件和文件夹中
[root@WebServer ~]# rm -r 51cto/*
删除51cto目录
[root@WebServer ~]# rm -r 51cto
-f 强制删除 没有提示
[root@WebServer ~]# rm -f /tmp/123
move 移动文件 或 文件夹
mv命令帮助
[root@WebServer ~]# mv --help
把当前目录123 移动到/91xueit 目标文件名123
[root@WebServer ~]# mv 123 /91xueit/
将当前目录中a打头的文件 移动到/91xueit/
[root@WebServer ~]# mv a* /91xueit/
把b文件移动到 91xueit/改名为b2
[root@WebServer ~]# mv b 91xueit/b2
移动文件 目标文件夹中有重名 提示是否覆盖
[root@WebServer ~]# mv 123 /91xueit/
mv:是否覆盖"/91xueit/123"? y
将/91xueit目录移动到当前目录
[root@WebServer ~]# mv /91xueit/ .
能够改变文件的时间戳
最近一次访问时间
最近一次修改时间 改变文件的内容 内容变化 元数据 也会变化
最近一次改变时间 元数据 文件名 大小 权限
查看文件的元数据
[root@WebServer ~]# stat teacher2.txt
更改文件的三个时间 默认是系统当前时间
[root@WebServer ~]# touch teacher2.txt
更改访问时间和改变时间
[root@WebServer ~]# touch -a teacher2.txt
更改修改时间和改变时间
[root@WebServer ~]# touch -m teacher2.txt
使用指定的时间更改修改时间
[root@WebServer ~]# touch -m -t 201407081326.12 teacher2.txt
如果没有则创建文件 如果文件存在 则更改三个时间
[root@WebServer ~]# touch homework
如果文件不存在 不创建
[root@WebServer ~]# touch -c hanligang
可以查看文件类型
按名称和文件类型查找
默认查找当前目录
[root@WebServer ~]# find -name ‘tea*‘
[root@WebServer ~]# find -name "tea*"
查找指定路径的文件
[root@WebServer ~]# find /tmp -name "tea*"
查找满足两个条件的文件 都满足
[root@WebServer ~]# find /tmp -name "a*" -type f
查找满足两个条件的文件 或者
[root@WebServer ~]# find /tmp -name "tea*" -o -name "a*"
除了某个条件的文件
[root@WebServer ~]# find /tmp -name "a*" ! -type f
文件时间查找
-amin n 查找系统中最后n分钟访问的文件
-atime n 查找系统中最后n*24小时访问的文件
-cmin n 查找系统中最后n分钟被改变文件状态的文件
-ctime n 查找系统中最后n*24小时被改变文件状态的文件
-mmin n 查找系统中最后n分钟被改变文件数据的文件
-mtime n 查找系统中最后n*24小时被改变文件数据的文件
+n –n
查找/home文件夹中 最近一天更改过文件
[root@WebServer ~]# find /home -mtime -1
查找/home文件夹中 60分钟内修改过的文件
[root@WebServer ~]# find /home -mmin -60
查找/home文件夹中 60分钟以前更改过的文件
[root@WebServer ~]# find /home -mmin +60
按文件属主和属组查找
按属主查找
[root@WebServer ~]# find /home -user hanlihui
按属组查找
[root@WebServer ~]# find /home -group hanlihui
查看当前用户的id
[root@WebServer ~]# id
uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
查看指定用户的id
[root@WebServer ~]# id hanlihui
使用uid和gid查找文件
[root@WebServer ~]# find /home -uid 503
[root@WebServer ~]# find /home -gid 503
按大小查找
[root@WebServer ~]# find . -empty
查找小于512k的文件
[root@WebServer ~]# find /root/ -size -512k
查找大于512K的文件
[root@WebServer ~]# find /root/ -size +512k
可以显示文本文件的内容 可以同时显示多个文本文件的内容
[root@WebServer ~]# cat -n teacher.txt abc
1 dfasdfadsf
2 aaaaaaaaaaaaaaaaa
3 bbbbbbbbbbbbbbbbbtac
按行号逆向显示文本内容
分屏显示文本文件内容 从前往后翻
b键往前翻一行 翻到文件的尾部 显示结束 不能往前翻了
回车 往下翻一行
空格 往下翻一屏
more /etc/passwd
分屏显示
向下翻一行 向下键 回车
向上翻一行 向上键
向下翻一屏 pgdn 空格键
向上翻一屏 pgup
/vir
?vir
:q退出less命令
显示文本文件的前几行 默认显示前10行
[root@WebServer ~]# head -n 2 /etc/passwd
[root@WebServer ~]# head -2 /etc/passwd
显示文本文件的后几行 默认显示后10行
[root@WebServer ~]# tail -n 2 /etc/passwd
[root@WebServer ~]# tail -2 /etc/passwd
-f follow 一直跟踪 不再退出 ctrl+c结束
可以打开文件进行编辑 创建文件进行编辑
[root@WebServer ~]# vi test1
输入i 变为插入模式 编辑内容
esc 退出插入模式
:wq 写入退出
:w 保存
:q! 不保存退出
安装nano
[root@WebServer ~]# mkdir /mnt/cdrom
[root@WebServer ~]# mount /dev/cdrom /mnt/cdrom/
[root@WebServer ~]# cd /mnt/cdrom/Packages/
[root@WebServer Packages]# find -name ‘nano*‘
./nano-2.0.9-7.el6.x86_64.rpm
[root@WebServer Packages]# rpm -i nano-2.0.9-7.el6.x86_64.rpm
使用nano创建并编辑文件test
[root@WebServer ~]# nano test
WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。
按照我们想要的格式显示文件内容 可以对文件内容进行过滤 改变样式输出
将文件使用指定的字符切开 显示我们想要的那些列
使用冒号分割 passwd文件 显示第1 3至5列
[root@WebServer ~]# cut -d: -f 1,3-5 /etc/passwd
使用空格分割文件 显示1-2列 将标准输出重定向到新的文件
[root@WebServer ~]# cut -d‘ ‘ -f 1-2 users >user2
使用e字符分割文件 取第1列
[root@WebServer ~]# cut -de -f 1 users
translate 翻译 转化 能够把文件中指定的字符进行替换
该命令后面只能使用标准输入重定向
使用A替换users文件中的e字符
[root@WebServer ~]# tr ‘e‘ ‘A‘ < users
删除users文件中的空格
[root@WebServer ~]# tr -d ‘ ‘ < users
删除users文件中的a字符
[root@WebServer ~]# tr -d ‘a‘ < users
[root@WebServer ~]# tail -2 /etc/passwd | cut -d: -f 1,5 | tr ‘:‘ ‘ ‘
word count 字数统计 可以统计文件的行数 单词数 字符数量
-l 只统计行数
-w 统计单词数
-c 统计字符数量
[root@WebServer ~]# wc users
4 12 63 users
[root@WebServer ~]# wc -l users
4 users
[root@WebServer ~]# wc -w users
12 users
[root@WebServer ~]# wc -c users
63 users
[root@WebServer ~]# wc -wc users
12 63 users
[root@WebServer ~]# wc -lwc users
4 12 63 users
[root@WebServer ~]# wc -c users | cut -d‘ ‘ -f 1
对文本中的行进行排序
把users文件的行进行排序输出 升序
[root@WebServer ~]# sort users
把users文件的行进行排序输出 降序
[root@WebServer ~]# sort -r users
使用空格把users文件分割 使用第3列排序
[root@WebServer ~]# sort -t" " -k3 users
使用空格把users文件分割 使用第3列排序 去掉重复行
[root@WebServer ~]# sort -t" " -k3 -u users
按数值排序 而不是按字符排序
[root@WebServer ~]# sort -t" " -k3 -n users
unique 唯一 针对文本中的连续的重复行进行操作
连续重复的行只显示一行
[root@WebServer ~]# uniq uniqtest
只显示重复的行
[root@WebServer ~]# uniq -d uniqtest
显示全部重复的行
[root@WebServer ~]# uniq -D uniqtest
显示重复次数
[root@WebServer ~]# uniq -c uniqtest
Global RE Printing 全局搜索正则表达式 并将搜索到的行打印出来
RE Regular Expression 正则表达式 由一些元字符和其他组成的表达式 元字符是由特定意义的字符 并不代表这个字符本身
文本过滤工具 能够指定的 正则表达式 逐行扫面文件的内容 只要行中有满足正则表达式的内容 则整行被显示
RE
Basic RE 基本正则表达式
Extended RE 扩展正则表达式
grep [optin]… ‘正则表达式’ file…
-v 显示不匹配的行
-i 不区分大小写
-o 只显示匹配的串
-A# 显示找到的行以及后面的行 # 1 2 3…
-B# 显示找到的行以及前面的行 #1 2 3…
-C# 显示找到的行以及前后的行 #1 2 3…
-E 表示后面的表达式是扩展的正则表达式
--color=auto 将匹配的字符串改变颜色显示
[root@WebServer ~]# grep ‘cpu‘ /proc/cpuinfo
[root@WebServer ~]# grep -v ‘cpu‘ /proc/cpuinfo
[root@WebServer ~]# grep ‘cpu‘ --color=auto /proc/cpuinfo
[root@WebServer ~]# grep ‘cpu‘ --color=auto -o /proc/cpuinfo
[root@WebServer ~]# grep ‘cpu‘ --color=auto -i /proc/cpuinfo
[root@WebServer ~]# grep ‘cpu‘ --color=auto -B1 /proc/cpuinfo
[root@WebServer ~]# grep ‘cpu‘ --color=auto -A1 /proc/cpuinfo
[root@WebServer ~]# grep ‘cpu‘ --color=auto -C1 /proc/cpuinfo
[root@WebServer ~]# ifconfig | grep ‘addr‘
文件名通配符
* 代表任意长度任意字符
?代表任意单个字符
[] 指定范围的任意单个字符
[^ ] 指定范围外的任意单个字符
. 匹配任意单个字符
[] 匹配指定范围内的任意单个字符
[^ ] 匹配指定范围外的任意单个字符
任意长度任意字符 ……………..
* 匹配前一个字符0次 1次 或多次 ab*c ac abc abbc abbbc abbdc
[root@WebServer ~]# echo ‘ac abc abbc abbbc abbdc‘ | grep ‘ab*c‘ --color=auto
ac abc abbc abbbc abbdc
\? 匹配前一个字符0次或1次 ab\?c ac abc abbc
[root@WebServer ~]# echo ‘ac abc abbc‘ | grep ‘ab\?c‘ --color=auto
ac abc abbc
\{m,n\} 匹配前一个字符最少m次 最多n次
\{0,n\} 最多n次
\{m\} 最少m次
as\{0,2\}c ac asc assc asssc asbc
[root@WebServer ~]# echo ‘ac asc assc asssc asbc‘ | grep ‘as\{0,2\}c‘ --color=auto
ac asc assc asssc asbc
[root@WebServer ~]# echo ‘ac asc assc asssc asbc‘ | grep ‘as\{2,3\}c‘ --color=auto
ac asc assc asssc asbc
[root@WebServer ~]# echo ‘ac asc assc asssc asbc‘ | grep ‘a[a-z]\{0,2\}c‘ --color=auto
ac asc assc asssc asbc
任意长度任意字符
.*
[root@WebServer ~]# echo ‘ac asc assc asssc ase233bc‘ | grep ‘a.*c‘ --color=auto
ac asc assc asssc ase233bc
91xueithanhanhanhan51cto
‘91xueit\(han\)*51cto’
[root@WebServer ~]# echo ‘91xueithanhanhanhan51cto sdfasdfdf‘ | grep ‘91xueit\(han\)*51cto‘ --color=auto
91xueithanhanhanhan51cto sdfasdfdf
zhangsan,math=good,english=band
hanligang,math=good,english=good
yixiu,math=bad,english=good
xiaomo,math=bad,english=bad,music=good,geography=good
yuanzi,math=good,english=bad,music=good,geography=good
向后引用
[root@WebServer ~]# grep ‘.*,math=\(.*\),english=\1‘ student --color
hanligang,math=good,english=good
xiaomo,math=bad,english=bad,music=good,geography=good
[root@WebServer ~]# grep ‘.*,math=\(.*\),english=\1,music=\(.*\),geography=\2‘ student --color
xiaomo,math=bad,english=bad,music=good,geography=good
\< 锚定词首
\> 锚定词尾
\< \> 锚定单词
[root@WebServer ~]# grep ‘\<r..t\>‘ --color=auto t1
root chroot rooter
this is root
^ 锚定行首
$ 锚定行尾
[root@WebServer ~]# grep ‘^r..t‘ --color=auto t1
[root@WebServer ~]# grep ‘r..t$‘ --color=auto t1
锚定行首 前面有空格的root开头的行
[root@WebServer ~]# grep ‘^[[:space:]]*root‘ --color=auto t1
root chroot rooter
锚定行尾 有标点符号时的正则表达式
[root@WebServer ~]# grep ‘root[[:punct:]]\?$‘ --color=auto t1
this is root
there is chroot.
POSIX定义了一些只能在正则表达式中使用的字符类
alnum 字母和数字
alpha 字母
blank 仅表示空格或制表符
cntrl 控制字符
digit 十进制数
graph 打印字符,不包含空格
lower 小写字母
print 打印字符,包含空格
punct 打印字符,不包含字母和数字
space 空白
upper 大写字母
xdigit 十六进制数
[[:space:]]
[[:digit:]]
[[:alpha:]]
[root@WebServer ~]# echo ‘.,.,?.!123abcABC abcA123..?1 2‘ | grep ‘[[:punct:]]\{4,8\}[[:digit:]]\{1,3\}[[:lower:]]*[[:upper:]]*[[:space:]]*[[:graph:]]*‘ --color=auto
.,.,?.!123abcABC abcA123..?1 2
[root@WebServer ~]# ifconfig | grep ‘[1-9]\{1,3\}‘ --color=auto -o
[root@WebServer ~]# ifconfig | grep ‘\([[:digit:]]\{1,3\}\.\)\{3\}[[:digit:]]\{1,3\}‘ -o
L1:1:wait:/etc/rc.d/rc 1
L3:3:wait:/etc/rc.d/rc 3
L1:1:wait:/etc/rc.d/rc 3
L3:1:wait:/etc/rc.d/rc 3
[root@WebServer ~]# grep ‘L.:\(.\).*\1‘ rc
[root@WebServer ~]# grep ‘^student:‘ /etc/passwd
[root@WebServer ~]# useradd student
[root@WebServer ~]# useradd student1
student:x:500:500::/home/student:/bin/bash
.
[]
[^]
*
?
+ 至少匹配一次
{m,n} 括号前不需要转义字符\
[root@WebServer ~]# echo "rooteeeeer" | egrep ‘ro+te{2,10}‘ --color
rooteeeeer
^
$
\< 新增 \b
\> 新增 \b
[root@WebServer ~]# echo ‘chroot root rooter123‘ | egrep ‘\broot‘ --color
chroot root rooter123
[root@WebServer ~]# echo ‘chroot root rooter123‘ | egrep ‘root\b‘ --color
chroot root rooter123
[root@WebServer ~]# echo ‘chroot root rooter123‘ | egrep ‘\broot\b‘ --color
| abc|wde
[root@WebServer ~]# echo ‘abcde abwde abc wde‘ | egrep ‘abc|wde‘ --color
abcde abwde abc wde
[root@WebServer ~]# echo ‘abcde abwde abc wde‘ | egrep ‘ab(c|w)de‘ --color
abcde abwde abc wde
分组不用转义
[root@WebServer ~]# echo ‘abchanhanhan100‘ | egrep ‘abc(han){3}100‘ --color
abchanhanhan100
查找a=c b=d的行
[root@WebServer ~]# echo ‘a=10b=20c=10d=20‘ | egrep ‘a=(..)b=(..)c=\1d=\2‘ --color
a=10b=20c=10d=20
不解析正则表达式 直接搜索文本
[root@WebServer ~]# echo ‘abcfr123a{1,2}wde‘ | fgrep ‘{1,2}‘ --color
abcfr123a{1,2}wde
将正则表达式中元字符 转换成字符本身
[root@WebServer ~]# echo ‘91xueit\(han\)*51cto‘ | grep ‘91xueit\\(han\\)\*51cto‘ --color
91xueit\(han\)*51cto
[root@WebServer ~]# echo ‘^root 91xueit$‘ | grep ‘\^root 91xueit\$‘ --color
^root 91xueit$
[root@WebServer ~]# echo ‘^root\b91xueit$‘ | grep ‘\^root\\b91xueit\$‘ --color
^root\b91xueit$
2.如果正则表达式中有命令替换 正则表达式只能使用” ”弱引用
如果正则表达式中没有命令替换 ‘ ’ “”
[root@WebServer ~]# echo ‘abc/root123‘ | grep "abc$(pwd)123" --color
abc/root1
shutdown –r now 现在重启
shutdown now 现在关机
shutdown +5 过5分钟关机
shutdown –c 取消关机命令执行
shutdown –h 02:23 & 在2点23分关机
shutdown –r 02:25 & 在2点25分重启
[root@WebServer ~]# date +%Y-%m-%d
2014-08-24
[root@WebServer ~]# date +%Y/%m/%d
2014/08/24
设置系统时间
[root@WebServer ~]# date -s "2014-08-27 10:20:00"
查看主板上的时间
[root@WebServer ~]# hwclock
2014年08月24日 星期日 02时50分10秒 -0.985818 seconds
将系统时间写入主板时间
[root@WebServer ~]# hwclock -w
[root@WebServer ~]# hwclock
2014年08月27日 星期三 10时23分27秒 -0.250991 seconds
标签:根目录 模拟 fas copy rbo 相对 大小写 sort ESS
原文地址:https://www.cnblogs.com/DBlifeXu/p/10347799.html