「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》
Linux常用命令
- 1、文件及内容
- 2、网络
- 3、进程服务
- 4、系统
- 5、用户权限
- 6、文件目录
1、文件及内容
cat 查看文件内容
cat /root/data.txt # 查看文件内容
cat -n /root/data.txt # 显示行号
tac /root/data.txt # 反向查看文件内容
more 逐页显示文件内容,配合快捷键上下翻页
more /root/new.txt # 逐页显示文件内容
more -3 /root/new.txt # 每页显示3行内容
more +3 /root/new.txt # 从第3行开始显示
less 逐页显示文件内容
less new.txt # 逐页显示文件内容
head 显示文件前几行
head -n 2 data.txt # 显示文件前2行
tail 显示文件最后几行
tail -n 3 new.txt # 查看最后3行
tail -f new.txt # 动态查看最新的内容
wc 统计文件的行数、字数、字节数。
wc new.txt # 统计文件的行数、字数、字节数
grep 过滤搜索文件中的关键字
grep 'root' /etc/passwd # 包含‘root’的行
grep '^root' /etc/passwd # 以‘root’开头的行
grep 'bash$' /etc/passwd # 以‘bash’结尾的行
grep -E 'root|bash' /etc/passwd # 包含‘root’或‘bash’的行
grep -r 'new' /root/ # 搜索目录中包含‘new’的行
find 搜索文件
find /home/ -name test.txt # 根据文件名搜索
dd 复制文件
time dd if=/dev/zero of=/testw.dbf bs=4k count=100000 # 测试硬盘读写能力
2、网络
ifconfig 查看网卡信息,常用来查看IP地址
ping 检查网络连通性(ping不通不一定就是网络不通,有可能是对方禁ping了)
ping 110.242.68.3 # 可以是IP地址
ping www.baidu.com # 可以是域名
ping -c 1 www.baidu.com # 只ping两次(默认长ping)
telent 检查端口连通性,端口通:Connected to
、端口不通:Unable to connect
telnet 192.168.0.180 22 # 检查22端口是否连通
netstat 查看网络连接情况
netstat -anopt | grep 22 # 查看22端口的连接情况
lsof 查看进程打开的文件、目录、进程监听的端口
lsof -p 793137 # 查看指定PID的进程打开的文件
lsof -c sshd # 查看指定名称的进程打开的文件
lsof -u root # 查看指定用户打开的文件
tcpdump 抓包分析工具
tcpdump -i eth0 tcp port 22 and host 192.168.137.1 -w /root/tcp.pcap
ssh 远程连接主机
ssh root@192.168.0.100 22
wget 从url下载文件
wget https://download/xxx.txt
route 查看路由表
3、进程服务
ps 查看进程
ps -ef # 查看进程
ps -aux # 查看进程
ps -ef | grep sshd # 过滤进程
service 管理服务
service sshd start # 开启服务
service sshd stop # 关闭服务
service sshd restart# 重启服务
service sshd status # 查看服务状态
systemctl 管理服务
systemctl start sshd # 开启服务systemctl stop sshd # 关闭服务systemctl restart sshd # 重启服务systemctl status sshd # 查看服务状态systemctl enable sshd # 开启自启动systemctl disable sshd # 取消开启自启动
kill 结束进程
kill pid # 结束指定pid的进程
kill -KILL pid # 强制结束进程
kill -u root # 结束指定用户的所有进程
crontab 定时任务
crontab -l # 查看当前用户的定时任务
crontab -u root -l # 查看指定用户的定时任务
4、系统
shutdown 关机并关电源,需要root权限,本质上是调整init的运行级别。
shutdown -h +30 # 30分钟后关机
shutdown -c # 取消关机
halt 关机但不关电源,init运行级别0-6时,关闭系统,否则调用shutdown -h来替代。
halt # 关闭系统
halt -p # 关机并关电源
halt -d # 关机并不记录这次关机情况
poweroff 关机并关电源
poweroff # 关机并关电源
poweroff -w # 写入关机日志但不关机
init 所有进程的祖先,控制运行级别,部分老系统直接reboot会起不来,可以用 init 6
重启
init 0 # 关机
init 6 # 重启
reboot 重启
reboot # 重启系统
reboot -w # 写入重启日志但不重启
uname 查看系统信息
uname -a # 查看系统信息
hostname 查看主机名
hostname # 查看主机名
hostname -I # 查看IP地址
uptime 查看系统运行时间
uptime # 开机运行时间
uptime -s # 上次开机时间
du 查看文件/目录的磁盘使用情况
du -sh * # 查看当前目录下所有文件/目录的磁盘占用大小
df 查看磁盘分区使用情况
df -h
top 实时资源使用情况
free 查看内存
free -h # 查看内存使用情况
date 查看系统时间
rpm 软件包管理
rpm -qa # 查看已经安装的软件包
rpm -ivh 包名.rpm # 安装软件包
rpm -Uvh 包名.rpm # 升级软件包
rpm -e 软件包名 # 卸载软件包
yum 软件包管理
yum list # 所有已经安装的/可以安装的安装包
yum search python # 搜索安装包
yum install python # 安装软件包
yum remove python # 卸载软件包
yum update python # 升级软件包
history 查看历史命令
clear 清屏
5、用户权限
useradd 添加用户
useradd user01 # 添加用户
usermod 修改用户
usermod -l newUser user01 # 修改用户名
userdel 删除用户
userdel -r user01 # 删除用户及用户家目录
passwd 修改用户密码
passwd user01 # 修改用户密码
id 查看用户id,gid
id user01 # 查看用户id
su 切换用户
su user01 # 切换用户
su -c 'id' user01 # 切换用户后执行命令,然后返回当前用户
sudo 提权,普通用户执行命令没有权限时,使用sudo提权。
sudo 命令
chown 修改文件/目录的所属用户/属组
chown root:root test.txt # 修改文件的所属用户/属组
chown -R user01:user01 /home/user01/ # 递归修改目录
chmod 修改文件/目录的权限
chmod 777 test.txt # 给文件所有权限
who 所有登录的用户
whoami 当前登录的用户
w 查看所有登录的用户及用户正在执行的指令
last 最近的用户登录信息
lastlog 所有用户的最后一次登录信息
6、文件目录
pwd 查看当前目录
ls 查看当前目录下的文件和目录
ls -a # 显示所有文件,包括隐藏文件(.开头的文件)和特殊文件(. 和 ..)
ls -l # 列表形式显示详细信息,可简写未 ll
ls -lh # 显示文件大小的单位
ls -ld # 只显示目录信息
cd 切换目录
cd /home/ # 到指定目录
cd # 到当前用户的家目录
cd ../ # 到上级目录
cp 复制文件/目录,常用来备份
cp test.txt test.txt.bat # 备份文件
touch 创建文件
touch test.txt # 创建文件
mkdir 创建目录
mkdir test # 创建目录
mkdir -p test1/test2 # 创建多级目录
mv 移动文件/目录
mv test.txt new.txt # 重命名
mv test.txt /root/ # 移动文件
rm 删除文件/目录
rm -f test.txt # 删除文件不提示
rm -rf test/ # 删除目录(递归删除)
stat 查看文件状态信息
stat new.txt
md5sum 计算文件的MD5,判断文件是否损坏
md5sum test.txt
tar 压缩/解压文件/目录
tar -czvf test.tar.gz test/ # 压缩目录
tar -xzvf test.tar.gz # 解压目录
gzip 压缩/解压文件/目录,不保留源文件
gzip test.txt # 压缩文件
gzip -d test.txt.gz # 解压文件
gzip -rv test/ # 递归压缩目录(目录不变,目录下的所有文件压缩成.gz)