先是选项后是文件
运行级别
Linux开启就会启用默认运行级别
init级别 | systemctl target | 含义 |
---|---|---|
0 | shutdown.target | 关机 |
1 | emergency.target | 单用户模式【紧急情况,如找回root密码】 |
2 | rescure.target | 多用户状态没有网络 |
3 | multi-user.target | 多用户状态有网络服务 |
4 | 保留级别 | |
5 | graphical.target | 图形界面 |
6 | reboot.target | 系统重启 |
注:级别1 emergency.target是最牛逼的(必须在服务器旁边进行直接操控)
1. 修改root密码:开机界面时进入单用户模式。 或。
2. 单用户模式是还没有开机boot初始化时的模式,而其他模式是开机后才有的模式。(所以单用户模式下远程操控无法连接到服务器)
操控命令
systemctl | 命令说明 |
---|---|
systemctl get-default | 获得当前的运行级别 |
systemctl set-default #.target | 设置默认的运行级别为#.target |
init 数字 == systemctl isolate #.target | 直接切换到对应运行级别 |
帮助指令
[root@CentOS7 ~]# man systemctl //获得帮助信息
[root@CentOS7 ~]# help l //获得shell内部命令帮助信息
查看指令位置
[root@CentOS7-1 ~]# which reboot
/usr/sbin/reboot #reboot指令是Super user系统管理员才有的指令
文件目录指令
出现的 -r 为:recursion:递归(涉及r就是涉及目录)
pwd 当前目录绝对路径(Win:chdir)
[root@CentOS7 ~]# pwd
/root
ls 显示目录内容(Win:dir)
-a:all
-l:list
-h:human显示的文件大小就会带上单位,放别人查看
[root@CentOS7 ~]# ls
[root@CentOS7 ~]# ls -a
[root@CentOS7 ~]# ls -l #可以简写为ll
[root@CentOS7 ~]# ls -al #直接合并!!!
cd 切换目录
- cd后面一定要有空格
- cd ~(Win:cd/) 可以省略 ~,直接cd
[root@CentOS7 音乐]# cd .
[root@CentOS7 音乐]# cd ../桌面
[root@CentOS7 桌面]# cd ~
[root@CentOS7 ~]#
mkdir 创建目录(Win:md或mkdir)
[root@CentOS7 文档]# mkdir test
[root@CentOS7 文档]# mkdir -p test1/music
rmdir 删除空目录(Win:rd或rmdir)
- 和Windows一样只能删除空目录
rm 删除文件或目录(及软连接)
删除目录就用 -r:recursion
-f:force
[root@CentOS7 文档]# rm test3.txt
rm:是否删除普通空文件 "test3.txt"?Y
[root@CentOS7 文档]# rm -f test2.txt
[root@CentOS7 文档]# rm -r test4
rm:是否进入目录"test4"? y
touch 创建文件
[root@CentOS7 文档]# touch test1.txt
[root@CentOS7 文档]# touch test2.txt test3.txt #也可以一次性创建多个文件
cp 拷贝(Win:copy)
对于目录结尾的/,有无都一样
[root@CentOS7 文档]# cp test1.txt test5
[root@CentOS7 文档]# cp -r test4 test5/test6
扩展: 当copy目录出现覆盖问题时,由于每个文件都会询问是否覆盖。使用 \cp进行强制覆盖,不再询问。
mv 文件与目录 的移动 或者 重命名
cat 查看文件内容(只读)
一次性全部加载
-n:number
常常和more一起搭配使用:
more 分屏查看文件(和Win一样)
q:quit
less 分屏查看大文件
也可以同时浏览多文件
并不是一次性全部加载文件!!!
>覆盖 >>追加 ★
[root@CentOS7 文档]# ls -l /home > /home/info.txt
[root@CentOS7 文档]# cal >> /home/mycal
[root@CentOS7 文档]# echo hello >> /home/info.txt
echo 输出内容到控制台
head 显示文件开头
[root@CentOS7 文档]# head -n 5 /etc/profile
tail 查看文件结尾
-f:follow
实时监控结尾:tail -f 文件,如果文件有变化就会立即看到。(ctrl + c 退出)
sed 行编辑器(流编辑器)
- 查看某行
sed -n '10p' file_name //显示第十行
sed -n '5,10p' file_name //显示5-10行
- 删除某行
sed '3d' data.txt //删除第3行
sed '2,3d' data.txt //删除data文件中第2-3行内容
- 插入命令:sed a i
sed '3i\this is sed i command' data.txt 在第三行前面插入this is sed i command 内容
sed '3a\this is sed i command' data.txt 在第三行后面添加this is sed i command 内容
- 替换命令:sed c 命令
sed '3c\this is test txt' data.txt 将data文件中的第三行内容替换为this is test txt
awk(文本处理工具)
当前WEB服务器中联接次数最多的ip地址
netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -nr
查看日志中访问次数最多的前10个IP
cat access_log |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10 | less
查看日志中出现100次以上的IP
cat access_log |cut -d ' ' -f 1 | sort |uniq -c | awk '{if ($1 > 100) print $0}'|sort -nr | less
查看最近访问量最高的文件
cat access_log | tail -10000 | awk '{print $7}' | sort | uniq -c | sort -nr | less
查看日志中访问超过100次的页面
cat access_log | cut -d ' ' -f 7 | sort |uniq -c | awk '{if ($1 > 100) print $0}' | less
统计某url,一天的访问次数
cat access_log | grep '12/Aug/2009' | grep '/images/index/e1.gif' | wc | awk '{print $1}'
前五天的访问次数最多的网页
cat access_log | awk '{print $7}' | uniq -c | sort -n -r | head -20
从日志里查看该ip在干嘛
cat access_log | grep 218.66.36.119 | awk '{print $1"\t"$7}' | sort | uniq -c | sort -nr | less
列出传输时间超过 30 秒的文件
cat access_log | awk '($NF > 30){print $7}' | sort -n | uniq -c | sort -nr | head -20
列出最最耗时的页面(超过60秒的)
cat access_log | awk '($NF > 60 && $7~/\.php/){print $7}' | sort -n | uniq -c | sort -nr | head -100
xargs命令
xargs将标准输入数据转换成命令行参数
ln -s 软连接(link)
就是把一个路径包装成快捷方式
-s:set
[root@CentOS7 ~]# ln -s ./文档/a.txt a快捷键
[root@CentOS7 ~]# rm -rf a快捷键
history 查看历史指令
时间日期类
date 显示当前日期时间
date -s 设置系统当前时间
格式固定!!!-s:set
cal(calendar)显示日历
搜索查找类
find 查找文件
单位G,M,k
locate
相当于一个目录数据库(updatedb创建),快速定位文件:
[root@CentOS7 ~]# updatedb
[root@CentOS7 ~]# locate a.txt
/root/文档/a.txt
grep查找(grep正则表达式)和 |管道
查找文件中匹配字符
压缩与解压类
gzip文件的压缩与解压
[root@CentOS7 文档]# gzip Hello.java
[root@CentOS7 文档]# gunzip Hello.java.gz
zip文件的压缩与解压
- 必须指定压缩名
- -d : 到什么什么目录
tar 打包指令
tar.gz压缩文件
c:create
v:variable
- 必须指定压缩名
- 可同时压缩多文件
- 指定解压目录用后置大写 -C
压缩总结
注意点:
1. 压缩一个文件必须使用相对位置,建议直接在压缩文件的目录中
2. 因为压缩文件不能指明位置,只会直接放到当前目录下
指令 | 适用 | 语法特点 | 操作特点 | 压缩包后缀 | 指明解压地址 |
---|---|---|---|---|---|
gzip | 仅文件 | … | 会删除原文件 | .gz | 无 |
zip | 文件与目录 | 必须指明压缩包名 | 保留原文件 | .zip | -d |
tar | 文件与目录 | 必须指明压缩包名 | 保留原文件 | .tar.gz | 后置 -C |