1、cd
2、cp -p:保持原来属性;-r:目录;-d,-a:所有,相对于-pdr
面试题:如果拷贝/mnt/a.txt 到/tmp/a.txt,而且不提示覆盖?
分析 cp /mnt/a.txt /tmp/ 提示是否覆盖,按Y覆盖,N取消;是因为cp是别名命令
#/bin/cp /mnt/a.txt /tmp/ 或#\cp /mnt/a.txt /tmp/用全路径命令cp 即可。
3、mv
4、pwd
5、man
6、--help,相对man来说是简单帮助
7、help(bash的内置命令帮助)
8、ls ls -lh
9、mkdir -p递归创建目录 ;rmdir 删除空目录
10、vi/vim
11、uname 查看系统信息,uname -a ,-r, -m
12、rm 删除文件或目录,一般生产环境中不用或者提前备份
13、echo 打印输出
14、cat 查看文本信息,结合重定向使用
cat >>test.txt<<EOF
test
liyao
oldboy
EOF ###其意思为将test liyao oldboy 追加到文件test.txt中
15、touch 摸一下创建文件,如 touch a.txt b.txt c.txt
16、find 查找文件 如:find /root/data -type {f,d} -exec rm -f {} \;
说明:-type 指定文件类型 f:文件 d:目录 -exec 执行命令(rm -f) \; 转义字符
与上面命令等效 find /root/data -type f | xargs rm -f
面试题:删除10个文件,保留其中a.txt文件
find /root/data/ -type f ! -name "a.txt" | xarge rm -f
如:find . -type f -exec ls -l {} \; 查看当前目录文件并列出来
find /logs -type f -mtime +5 -exec -ok rm {} \;查看logs中更新时间在前5天的文件并删除(ok 等效于exec)
find .-size +3000k -exec ls -ld {} \; 查看磁盘中大于3M的文件并删除
find .-name .svn |xargs rm -rf 查找当前目录中.svn结尾的文件并删除
find /data -type f ! -name "a.txt" |xargs rm -f 查找/data下文件,除a.txt都删除
17、grep 过滤器,擅长过滤,把想要的或不想要的分离开,Linux三剑客(grep、awk、sed)之一
grep "oldboy" test.txt 显示包含oldboy的行
grep -v "oldboy" test.txt 不显示包含oldboy的行, -v排除
--color=auto 高亮显示;-i忽略大小写;-n顺序输出行号;-c计算出收索的次数;
cat test.txt |grep -v "oldboy" test.txt
18、sed 过滤器 格式: sed -n '/过滤的内容/p' 文件 ,
例如:sed -n '/oldboy/p' test.txt 说明:-n 取消默认输出,p:print,d:delete
sed -n '20,30p' test.txt 打印或显示20到30行
sed '2,$d' test.txt 删除第二行到最后一行
sed -i 替换
例如:sed -i 's#oldbay#oldgirl#g' test.txt
-i替换,固定格式sed 's#oldfile#newfile#g' 文件名,#号是分隔符,可以用其他的
s代表收索 g代表全局
19、awk 一种命令,擅长取列
语法: awk -F "分隔符" ‘{print $1}’ 文件
-F 指定文件分隔符,$1 指第一列 最后一列$NF $0表示所有列也就是行
如:awk -F ":" '{print $1"="$2"="$3}' /etc/passwd
如:awk '{if (NR<31&&NR>19) print $1"\n"}' test.txt NR代表行号 \n代表换行
awk -F ":" 'BEGIN{print "ID","XX"}{if (NR<31&&NR>19) print $1}END{print "ID""XX"}'
20、yum linux包管理器,解决依赖关系的 如,yum install -y tree
21、tree 树状显示目录结构,解决乱码 # LENG=en #tree -L 1 /,只查看一层
22、alias alias 查看定义别名 如 alias cp='cp -i' unalias 取消别名
alias rm='echo rm can not be uesd,pls use mv'
永久生效/etc/bashrc 或 /etc/profile
23、awk 一种命令,擅长取列
语法: awk -F "分隔符" ‘{print $1}’ 文件
-F 指定文件分隔符,$1 指第一列 最后一列$NF
如:awk -F ":" '{print $1"="$2"="$3}' /etc/passwd
如:awk '{(if NR<31&&NR>19 print $1"\n")}' test.txt NR代表行号 \n代表换行
24、history 打印用户操作的历史记录
25、hostname 查看主机名
26、uname 打印系统信息 -r内核 ,-m查看位数,-n主机名,-a查看所有
27、useradd oldboy给系统添加用户 tail -l /etc/passwd
28、passwd oldboy给用户添加密码
29、whoami 查看当前用户
30、命令提示符 echo $PS1 编辑echo=
31、查看环境变量 env | grep oldboy
32、SElinux 配置文件/etc/selinux/config 操作前备份,操作后检查
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
grep =disbaled /etc/selinux/config
查看是否生效,getenforce 显示enforcing表示为生效,临时生效设置#setenforce 0
33、rpm rpm -ivh 包名.rpm rpm -qa tree
34、setenforce\getenforce
setenforce是Linux的selinux防火墙配置命令 执行setenforce 0 表示关闭selinux防火墙。
setenforce命令是set(设置)和enforce(执行)连写,另一个命令getenforce可查看selinux的状态。
35、crontab ,linux定时执行任务命令,可有 ,- 为连接线,逗号表示单个,连接线表示一个区域
基本格式:
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
例如:* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache
转载于:https://blog.51cto.com/liwenjia/1831242