标签:生成 ann 跟踪 image 查看 space 清除 cti 逻辑
Linux下的文件类型列出当前目录内容:ls
**ls -a** 包含隐藏文件
**ls -l** 显示额外的信息
**ls -R **目录递归通过
**ls -ld** 目录和符号链接信息
**ls -1** 文件分行显示
**ls –S** 按从大到小排序
**ls –t ** 按mtime排序
**ls –u ** 配合-t选项,显示并按atime从新到旧排序
**ls –U** 按目录存放顺序显示
**ls –X ** 按文件后缀排序
【例】把/etc/httpd/conf/httpd.conf?件和/etc/my.cnf?件拷贝到当前?录
[..@。。。]# cp /etc/httpd/conf/httpd.conf /etc/my.cnf ./
【例】把/etc/nginx?录及其下?所有?件和??录拷贝到当前?录
[..@。。。]# cp -R /etc/nginx/ ./
【例】复制httpd.conf?件并重命名为httpd.conf.bak
[..@。。。]# cp httpd.conf httpd.conf.bak
【例】复制/etc?录下所有?件及其??录到当前?录,并重命名为etc_bak
[..@。。。]# cp -R /etc ./etc_bak
mv : 移动和重命名文件
【例】把当前?录下nginx命令重命名为nginx_bak
[..@。。。]# mv nginx/ nginx_bak
【例】把httpd.conf?件移动到/tmp?录下
[..@。。。]# mv httpd.conf /tmp
#rm : 删除文件或目录 :rm - rf /*
tree 显示目录树
-d: 只显示目录
-L level:指定显示的层级数目
mkdir :创建文件目录
-v : 显示详细信息
rmdir 删除空目录
-p: 递归删除父空目录
tree:显??录树
【例】显?a?录的?录树
[..@。。。]# tree a
【例】查看/usr/local?录树,但仅查看2级的?录深度
[..@。。。]# tree -L 2 /usr/local
ln:创建链接?件
【例】把 /usr/sbin/apachectl?件在当前?录下创建软连接?件为apachectl
[..@。。。]# ln -s /usr/sbin/apachectl apachectl
: 表?标准输出覆盖重定向;
【例】 把/etc/fstab?件内容重定向到/tmp?录下?件名为fstab.out
[..@。。。]# cat /etc/fstab > /tmp/fstab.out> : 表?标准输出追加重定向;
【例】把hello world追加到/tmp/fstab.out?件尾部
[..@。。。]# echo "hello world" >>/tmp/fstab.out
2> : 表?错误输出覆盖重定向;
【例】把标准错误重定向:
[..@。。。]# whch cat 2> /tmp/which.out
[..@。。。]# cat /tmp/which.out
bash: whch: command not found...
2>> : 表?错误输出追加重定向;
&> : 表?合并标准输出和错误输出覆盖重定向;
【例】合并标准输出和标准错误覆盖重定向到out.txt?件?
[..@。。。]# which cat &> out.txt
[..@。。。]# cat out.txt
/usr/bin/cat
[..@。。。]# hich cat &>> out.txt
[..@。。。]# cat out.txt
/usr/bin/cat
bash: hich: command not found...
&>> : 表?合并标准输出和错误输出追加重定向;
2>&1 :表?意义同&>即合并标准输出和错误输出覆盖重定向;
【例】 &>等价于2&>1,功能同上例
[..@。。。]# which cat > out.txt 2>&1
[..@。。。]# cat out.txt
/usr/bin/cat
[..@。。。]# wich cat >> out.txt 2>&1
[..@。。。]# cat out.txt
/usr/bin/cat
bash: wich: command not found...
<: 输?重定向;
从?件导?标准输?
【例】把out.txt?件?的内容,写到?le.txt?件?
[root@Magedu ~]# cat >file.txt <out.txt
[root@Magedu ~]# cat file.txt
/usr/bin/cat
bash: wich: command not found...
<<: 多?输?;
【例】屏幕随便输???内容,遇到END字样结尾后,屏幕内容?动保存在f1.txt?
[..@。。。]# cat > f1.txt <<END
first
scond
third
END
[..@。。。]# cat f1.txt
first
scond
third
set -C命令:禁?覆盖重定向;
>|: 强制覆盖重定向(与set -C相反);
【例】禁?覆盖重定向和强制重定向
[..@。。。]# set -C
[..@。。。]# echo "hello magedu" >/tmp/fstab.out
-bash: /tmp/fstab.out: cannot overwrite existing file
设置禁?覆盖重定向后,可强制覆盖重定向
[..@。。。]# echo "hello " >| /tmp/fstab.out
[..@。。。]# cat /tmp/fstab.out
hello
set +C命令:解除禁?覆盖重定向的设置;
【例】解除禁?覆盖重定向设置
[..@。。。]# set +C
[..@。。。]# echo "hello" > /tmp/fstab.out
[..@。。。]# cat /tmp/fstab.out
hello
管道符(|)作?是把前?个命令的执?结果当做后?个命令的输?
【例】**把标准错误和标准输出分别重覆盖定向到不同的?件?,即标准错误重定向到falt.txt?件,标准输出 重定向到correct.txt
[..@。。。]# which cat 2> falt.txt > correct.txt
[..@。。。]# cat correct.txt
/usr/bin/cat
[..@。。。]# cat falt.txt
[..@。。。]# wih cat 2> falt.txt > correct.txt
[..@。。。]# cat falt.txt
bash: wih: command not found...
[..@。。。]# cat correct.txt
-c –C --complement:取字符集的补集
-d --delete:删除所有属于第一字符集的字符
-s --squeeze-repeats:把连续重复的字符以单独一个字符表示
-t --truncate-set1:将第一个字符集对应字符转化为第二字符集对应的字符
?[:alnum:]:字母和数字 [:alpha:]:字母 [:cntrl:]:控制(非打印)字符 [:digit:]:数字 [:graph:]:图形字符 [:lower:]:小写字母 [:print:]:可打印字符 [:punct:]:标点符号 [:space:]:空白字符 [:upper:]:大写字母 [:xdigit:]:十六进制字符
【例】?输?重定向的?式,把所有?写字?转换为?写
[..@。。。]# cat /etc/issue
\S
Kernel \r on an \m
[..@。。。]# tr a-z A-Z </etc/issue
\S
KERNEL \R ON AN \M
【例】把echo输出的内容,传递给tr命令,实现?写字?转换为?写字?
[..@。。。]# echo "this is test line" | tr a-z A-Z
THIS IS TEST LINE
-u UID
-o 配合-u 选项,不检查UID的唯一性
-g GID 指明用户所属基本组,可为组名,也可以GID
-c "COMMENT“ 用户的注释信息
-d HOME_DIR 以指定的路径(不存在)为家目录
-s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
【例】在系统上添加?个?户名称为apache的?户,默认shell为/sbin/nolgoin且不创建家?录
[..@。。。]# useradd -s /sbin/nologin -M apache
-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-f:强制操作
-n mindays:指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
--stdin:从标准输入接收用户密码
示例:echo "PASSWORD" | passwd --stdin USERNAME
groupmod [OPTION]... group
-n group_name: 新名字
-g GID: 新的GID
?gpasswd [OPTION] GROUP
-a user 将user添加至指定组中
-d user 从指定组中移除用户user
-A user1,user2,... 设置有管理权限的用户列
如果用户本不属于此组,则需要组密码
a , all 所有用户
owner 属主, u
group 属组, g
other 其他, o ?
三种权限 :
r Readable 读 4 :可使用文件查看类工具获取其内容
w Writable 写 2 :可修改其内容
x eXcutable 执行 1 : 可以把此文件提请内核启动为一个进程
【例】修改权限为属主添加写和执?权限、属组没有读权限其它?有读和执?权限
[。。@。。。~]# ll 1.sh
-rw-r--r-- 1 root root 0 Jun 3 22:16 1.sh
[。。@。。。~]# chmod u+wx,g-r,o=rx 1.sh
[。。@。。。~]# ll 1.sh
-rwx---r-x 1 root root 0 Jun 3 22:16 1.sh
【例】递归设置testdir?录权限为:属组添加可读、可写、可执?权限,但其??件不添加执?权限
[。。@。。。 ~]# chmod -R g=rwX testdir/
【例7】设置?件1.sh权限为只有属主有读写权限
[root@Magedu ~]# ll 1.sh
-rw-r--r-- 1 root root 0 Jun 4 00:28 1.sh
[root@Magedu ~]# chmod 600 1.sh
[root@Magedu ~]# ll 1.sh
-rw------- 1 root root 0 Jun 4 00:28 1.sh
【例】设置?进制可执?程序?件chmod拥有suid权限
【例】取消?进制可执?程序?件chmod拥有的suid权限
【例】设置?进制可执?程序?件chmod拥有sgid权限
【例】取消?进制可执?程序?件chmod拥有的sgid权限
【例】对testdir?录设置sgid权限,作为协作?录
【例】取消testdir?录sgid权限
【例】对testdir?录设置sticky权限,实现只有?件的所有者或root才能删除该?录下的?件
【例】取消testdir?录的sticky权限
【例】在/testdir/dir?创建的新?件?动属于g1组,组g2的成员如:alice能对这些新?件有读写权限,组 g3的成员如:tom只能对新?件有读权限,其它?户(不属于g1,g2,g3)不能访问这个?件夹。
【例】备份/testdir/dir?所有?件的ACL权限到/root/acl.txt中,清除/testdir/dir中所有ACL权限,最后 还原ACL权限
getfacl对?录操作时,不能使?绝对路径;
【例】分页查看/var/log/messages?件,?件最后不退出
[。。@。。。~]# less /var/log/messages
-c # 指定获取前#字节
-n # 指定获取前#行
-# 指定行数
【例】查看1.sh?件的前3?内容
-c # 指定获取后#字节
-n # 指定获取后#行
-# 同上
-f 跟踪显示文件fd新追加的内容,常用日志监控 , 相当于 --follow=descriptor
-F 跟踪文件名,相当于--follow=name --retry
监视查看1.sh?件尾部是否有内容增加
[。。@。。。~]# tail -f 1.sh
【例】?较1.sh和2.sh两?件的不同
-d DELIMITER: 指明分隔符,默认tab -f FILEDS:
#: 第#个字段
#,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段, 例如1-6
混合使用:1-3,7
-c 按字符切割 --output-delimiter=STRING指定输出分隔符
【例】截取/etc/passwd?件第??,以冒号为分隔符,抽取第7个字段
-r 执行反方向(由上至下)整理
-R 随机排序
-n 执行按数字大小整理
-f 选项忽略(fold)字符串中的字符大小写
-u 选项(独特,unique)删除输出中的重复行
-t c 选项使用c做为字段界定符
-k X 选项按照使用c字符分隔的X列来整理能够使用多次
【例】以1.sh?件??内容的空格分隔,按第3段从?到?排序
【例】统计/etc/pass?件有多少?
[。。@。。。~]# cat /etc/passwd | wc -l
50
【例】统计2.sh?件中相同内容的?出现的次数
--color=auto: 对匹配到的文本着色显示 ?
-m # 匹配#次后停止 ?
-v 显示不被pattern匹配到的行 ?
-I 忽略字符大小写
-n 显示匹配的行号 ?
-c 统计匹配的行数 ?
-o 仅显示匹配到的字符串
-q 静默模式,不输出任何信息
-A # after, 后#行 ? -B # before, 前#行
-C # context, 前后各#行 ?
-e 实现多个选项间的逻辑or关系 grep –e ‘cat ’ -e ‘dog’ file ?
-w 匹配整个单词 ?
-E 使用ERE
-F 相当于fgrep,不支持正则表达式 ?
-f file 根据模式文件处理
. 匹配任意单个字符
[] 匹配指定范围内的任意单个字符,示例:[wang] [0-9] [a-z] [a-zA-Z]
[^] 匹配指定范围外的任意单个字符
*匹配前面的字符任意次,包括0次
贪婪模式:尽可能长的匹配
*.* 任意长度的任意字符
\? 匹配其前面的字符0或1次
\+ 匹配其前面的字符至少1次
\{n\} 匹配前面的字符n次
\{m,n\} 匹配前面的字符至少m次,至多n次
\{,n\} 匹配前面的字符至多n次
\{n,\} 匹配前面的字符至少n次
【例】查找/etc/passwd?件?包含root字符串的?
【例】查找2.sh?件?显?不包含111字符串的?
【例】显?/etc/passwd?件中以bash结尾的?
【例】找出“ldd /usr/bin/cat”命令的结果中的?件路径
【例】找出ifcon?g命令结果中所有IPv4地址
【例】将此字符串:welcome to magedu linux 中的每个字符去重并排序,重复次数多的排到前?
【例】使?egrep取出/etc/rc.d/init.d/functions路径的?录名
标签:生成 ann 跟踪 image 查看 space 清除 cti 逻辑
原文地址:https://blog.51cto.com/14234291/2364833