三、Linux总结(省流版)
命令格式
命令 选项 参数
rm -rf /*
快捷
查看命令帮助
man ls
man cat
man grep
快速补全文件名和目录
vim cri
然后按tab键
Ctrl Insert 复制
Shift Insert 粘贴
Alt Insert 复制粘贴
快速清除命令
Ctrl A Ctrl K,顺序执行
历史命令搜索
Ctrl R
查看历史命令
history
清除历史命令
history -c
1. 文件
增
创建目录
-m 配种文件权限
-p 创建递归
mkdir test
mkdir -p /1/2/3 创建多层文件夹
mkdir -m 711 test1 创建权限为711的test1文件夹
ls -l 检查权限
touch 1.txt 创建文件
touch {0..10}.txt 创建11个文件
删
rm 移除文件目录
rm [-fir] 文件或目录
-f 强制删除
-i 询问是否删
-r 递归删
rm -i test.txt 删除文件
rm -rf /root/test 删除文件夹
改
复制文件、目录
-f 强制复制
-i 覆盖前询问
-p 复制文件和文件属性(备份)
-r 递归复制
cp old.txt /test
cp -r /oldtest /newtest 把oldtest文件全部复制到new
cp -f old.txt /test 强制复制
cp -v 1.txt /test 显示复制过程
mv移动文件,修改名称
-f 强制
-i 询问
-u 更新文件
mv 1.txt test2
mv test test1 把test文件夹改名为test1
mv 1.txt 2.txt 改名
mv /test1/1.txt /test2/1.txt
查
查看当前文件名、目录名
ls
查看根目录文件
ls /
查看所有文件(包括隐藏文件)
ls -a
查看文件详细信息
ls -l
ll
查看所有文件详细信息
ls -al
ll -a
打印当前目录
pwd
. 当前目录
../ 上一级目录
../../ 上上一级目录
查看帮助
man ls
切换工作路经
cd /user/local
cd ..
cd ../..
查看文件类型
file -i test 看目录
file -i test.txt
查找文件
find /etc -name a* 找a开头的文件名
find /etc -name "aaa" 找名字是aaa的文件
find /root -type f 找root目录下普通文件
find /root -type d 找root目录下目录
find /root -type f -size 10M+ 找root下大于10M的普通文件
whereis 找二进制程序
which 查找并显示目录绝对路经
关机重启
poweroff
reboot
挂载mount
mount /dev/sdb1 /sdb-u 把/dev/sdb1挂载到、sdb-u
链接
ln 1.php lianjie.php 把1.php创建连接
cat 从第一行开始显示内容
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
cat /etc/issue
tac 从最后一行开始显示
tac /etc/issue
nl 显示行号
nl /etc/issue
more 一页一页翻动
more /etc/man_db.config
空格(下一页)
回车(下一行)
:f(立刻显示文件名和行数)
q(离开)
less 一页一页翻(包含more所有功能)
less /etc/man.config
less redis.conf
head 取文件前几行
head /etc/man.config 默认10行
head -n 20 /etc/man.config 取20行
tail 取文件后几行
tail /etc/man.config 默认10行
tail -n 20 /etc/man.config 取20行
管道grep
ps -ef | less -N 将系统进程按页显示
netstat -an|grep 3306 查看系统端口号是否启动
netstat -an 查看所有端口号
cat -n info.log 查看文件内容
grep "debug" 搜索debug的内容
more 显示
管道pipe
把前一个输出当做后一个输入
cat test.log 查看文件内容
more -5 显示五行
cat test.log | more -5 查看文件前五行
统计行数字数 wc
wc -l 2.txt 统计行数
wc -w 2.txt 统计字数
ls -l 一行显示一个文件
wc -l 统计行数
ls -l | wc -l 统计目录下所有文件夹个数
diff 对比文件差异
diff a.txt b.txt 对比两个文件内容差异
diff -r /boot /gaof 比较两个目录差异
根目录文件
bin 普通用户指令
boot 开机目录
dev 设备目录(磁盘硬件)
etc 配置文件
lib 库文件(bin、sbin)
media 可移除设备挂载目录(U盘)
mnt 临时挂载
opt 三方软件安装目录
proc 虚拟文件系统
root 管理员主目录
run 系统运行需要文件
sbin root权限运行指令
srv 服务启动后数据目录
sys 虚拟文件系统(核心硬件信息)
tmp 临时文件
usr 应用程序
var 系统执行中常改变的文件
ls /bin 查看
2. 通配符
* 任意字符
? 单个字符
[0-9]
{*.log,*.txt}
^ 取反
[^txt]* 查找不是TXT结尾
ls v* 查看v结尾文件
ls *v 查看v开头文件
ls a[0-3].txt 查看a0,a1,a2,a3的文件
ls aa[a-z].txt 查找aa开头,后缀.txt的文件
ll {*.log,*.txt} 查找.log结尾和.txt结尾的文件
3. 文本编辑
man vim 查看如何使用命令
vim /etc/vimrc 查看全局配置文件
命令模式(刚进去,编辑前)
set nu 显示行号
:15 跳转到15行
n10 光标向后10字符
Shift G 到文档末
/test 向后查找test
?test 向前查找test
n 下一个关键字
N 上一个关键字
yy 复制这一行
dd 删除一行
ndd 删除下n行
u 撤销最近操作
Ctrl R 恢复最近操作
编辑模式
i 进入
Ctrl U 撤销
底行模式
:wq 保存退出
:q! 强制退出
:e! 重新修改
:set nu 显示行号
4. 软件安装
rpm
查询
rpm -qa 查询全部
rpm -q test 查询test包
安装
rpm -ivh test
升级
rpm -Uvh test
卸载
rpm -e test
yum
-h 显示帮助
-y 对所有选择都yes
-c 指定配置文件
-q 安静模式
-v 详细模式
列表
yum list 看全部列表
yum list test 看包名
搜索
yum search test
安装
yum install test
升级
yum update test
卸载
yum remove test
更新所有软件
yum update
清除缓存
yum clean all
更新yum缓存
yum make cache
wget 下载网址
5. 用户
group 用户组
查看全部组
cat /etc/group
查看用户所属组
groups
添加用户组
groupadd jack
删除用户组
groupdel jack
user 用户
查看用户ID
cat /etc/passwd
添加用户jack到test组
useradd -g test jack
添加jack到A组,另外加入B和C组
useradd -g A jack -G B,C
修改密码
-d 删除密码
-f 强制执行
-l 锁住密码
-s 列出密码相关信息
-u 解开上锁的账号
passwd Jack
删除用户
userdel -r jack
切换用户
su jack
修改用户信息(将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。)
usermod -s /bin/ksh -d /home/z –g developer sam
cat /etc/group 查看组
cat /etc/passwd 查看密码
cat /etc/sudoers 查看内容
在编辑器中添加
jack ALL=(ALL)ALL 把root所有权限给jack
sudo reboot 授权后重启
sudo -l 查看可执行命令
给jack用户root中的添加用户权限
jack ALL=(ALL)NOPASSWD:/bin/useradd
id 查看账号身份
finger 查看账号登录属性
w 查看主机用户登录情况
who
whoami
6. 变量
查看全部变量
env
查看单个变量
echo $xxx
用户变量
~/.bashrc
系统变量
/etc/profile
7. shell工具
查看shell目录
echo $SHELL
查看内容
cat /etc/shells
查看可切换shell
chsh -l
切换shell为/bin/csh
chsh -s /bin/csh
8. 权限
切换root
su
drwxrwxr-x. 2 jack A 6 Jul
775权限
文件 所属用户 所属组别 其他用户
d rwx rwx r-x
d 代表目录文件
rwx 代表marry对目录文件可读可写可执行
rwx 代表security组对目录文件可读可写可执行
r-x 代表其他用户对目录可读可执行
drwxrwxr-x. 2 marry security 6 Jul
rwx 4+2+1=7
rwx 4+2+1=7
r-x 4+0+1=5
文件权限描述775
修改权限
添加用户写权限
chmod g+w test.log
删除其他用户一切权限
chmod o=test.log
取消所有用户写权限
chmod a-w test.log
当前用户一切权限,组用户读写权限,其他用户读权限
chmod u=rwx,g=rw,o=r test.log
9. 文件描述&重定向
0 标准输入
1 标准输出
2 标准错误输出
> 输出重定向(覆盖)
>> 输出重定向(追加)
&> 将一个流重定向到另一个文件描述
< 输入重定向
<< 输入重定向
输出重定向
标准输出重定向
ls / >test.txt
ls / 1>test.txt
ls / 1>>test.txt
标准错误输出重定向
find / -name "aaa" 2>err.txt
find / -name "aaa" 2>/dev/null
find / -name "aaa" 2>>err.txt
输出和错误重定向
find / -name "aaa" >test.txt>&1
输入重定向
10. 文件压缩
cvf打包
xvf解包
-z gz压缩算法
-j bz2压缩算法
-c 创建打包文件
-v 显示打包详细信息
-f 指定打包后的文件名为tets.tar
打包不压缩
tar -cvf test.tar *.txt 打包文件
tar -xvf test.tar 解压
打包压缩gz
tar -czvf test.tar.gz *.txt 打包压缩
tar -xzvf test.tar.gz 解压
打包解压bz2
tar -jcvf test.tar.bz2 *.txt 压缩
tar -jxvf test.tar.bz2
zip压缩
zip test.zip *.txt
unzip test.zip
11. 网络
查看主机和IP
less /etc/hosts
查看网络
ifconfig
查看网络连接(端口号)
netstat -a
netstat -ap | grep ssh 程序网络情况
netstat -ap |grep 3306 端口网络情况
wget 直接下载
wget https://qqweqweqw.tar.gz
wget -c 断点续传
wget -b 后台下载
wget -i 1.txt 同时下载多个
tail -f wget-log 查看下载进度
防火墙
启动防火墙
systemctl start firewalld
查看启动端口
firewall-cmd --list-port
永久开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload 重启显示
systemctl stop firewalld.service 关闭防火墙
12. 系统
查看系统日期
date 日期
cal 日历
cal -y 全年日历
uptime 启动时间
w 资源占用
查看系统版本
cat /etc/redhat-release 发行版本
uname -a 内核版本
cat /proc/version Linux版本
查看mysql服务
systemctl list-unit-files | grep mysql
运行startup程序
./startup.sh
后台执行
nohup ./start.sh &
查看进程
top
ps 进程
-a 显示所有进程
-u 选择用户
-x 显示没有控制终端的进程
-e 显示所有进程
-f 显示详细
ps -ef 显示所有进程详细信息
ps -aux
pstree 进程树
pstree -p 添加进程号
pstree root 展示用户进程关系
PStree -p |grep ssh 只看ssh进程
kill -9 3306 结束进程
free 内存使用情况
磁盘使用情况
du /usr 查看使用情况
du -h /usr 可视化
du -h /usr --max-depth=1 查看目录下文件
du -h /usr/share --max-depth=1 | sort -hr 排序
du -h /usr/share --max-depth=1 | sort -hr |head -n 3 查看最大的三个文件
cat /etc/crontab 查看系统支持定时
crontab -u root test.cron 添加文件到定时任务
cron -u root -l 查看任务
crontab -u root -e 编辑任务
crontab -u root -r 删除任务