跳至主要內容

Linux 常用命令

逸尘.Lycodx大约 6 分钟后端Linux

Linux 常用命令

在CentOS中如果找不到命令使用如下命令安装

yum install -y [命令]
# 万能命令
[命令] --help

# 搜索历史命令(快捷键)
CTRL + R

后面参数都以 [ ] 表示

一、文件和目录

# 进入目录
cd [目录名]

# 查看当前路径
pwd

# 新建文件
touch [文件名]

# 创建文件夹
mkdir [文件夹名]

# 同时创建2个目录
mkdir [dir1] [dir2]

# 创建目录树(tmp/dir1/dir2)
mkdir -p /tmp/dir1/dir2

# 文件添加权限(执行权限为例)
chmod +x [文件名]

# 递归给文件加权限(以777权限为例)
chmod -R 777 [文件名]

# 移动文件/文件夹
mv [文件名/文件夹] [路径]

# 文件/文件夹重命名
mv [旧文件名/旧文件夹名] [新文件名/新文件夹名]

# 拷贝文件
cp [文件] [拷贝后的文件名]

# 拷贝文件夹
cp -r [文件夹] [拷贝后的文件夹名]

# 拷贝某个目录下的所有文件到当前文件目录
cp dir/* .

# 远程传输文件 
scp [文件] [用户名]@[IP]:[目录] 
scp test.txt root@192.168.100.99:/opt
# 远程传输目录
scp -r [目录] [用户名]@[IP]:[目录]

# 递归删除文件
rm -rf [dir]

# 下载文件(不是所有机器都支持)
sz [文件名]

# 创建指向文件/目录的软链接
ln -s file1 link1

# 查找文件(在根目录查找file1文件)
find / -name file1

# 在目录/dir中搜索带有.log后缀的文件
find /dir -name *.log

# 快速定位文件
locate [关键词]

# 快速查找二进制文件/可执行文件的路径(可以用来查找系统命令的二进制文件路径)
whereis bash
whereis crontab
whereis ls

# 查看文件
cat [文件路径]

# 查看内容并标识行数
cat -n [文件路径]

# 查看一个长文件的内容
more [文件名]

# 查看文件的前两行
head -2 [文件名]

# 查看文件的后2行
tail -2 [文件名]

# 实时查看添加得到文件的内容
tail -f [文件名]

# 在文件hello.txt中查找hello
grep hello hello.txt

二、系统信息和性能查看

# 显示系统名、节点名称、操作系统的发行版号、内核版本等等
uname -a

# 查看内核版本
uname -r 

# 查看处理器架构
uname -m
arch

# 查看计算机名
hostname

# 显示当前登录系统的用户名
who

# 显示登录时的用户名
who am i

# 显示当前用户名
whoami

# 查看Linux版本信息
cat /proc/version

# 查看cpu信息
cat /proc/cpuinfo
lscpu

# 查看中断 (列出当前所以系统注册的中断,记录中断号,中断发生次数,中断设备名称)
cat /proc/interrupts

# 查看系统负载
cat /proc/loadavg

# 查看系统环境
cat /etc/os-release

# 查看系统运行时间、用户数、负载
uptime

# 查看系统环境变量
env

# 查看已加载的系统模块
lsmod

# 查看内存总量
grep MemTotal /proc/meminfo

# 查看空闲内存量
grep MemFree /proc/meminfo

# 查看内存用量和交换区用量
free -m

# 显示系统时间
date

# 显示2022日历表
cal 2022

# 动态显示cpu/内存/进程等信息
top

# 采集系统状态(1秒采集一次,共采集10次)
vmstat 1 10

三、磁盘和分区

# 查看磁盘使用情况及挂载点
df -h
df -hl

# 获取节点信息
df -i

# 查看所有磁盘分区
fdisk -l

# 查看所有交换分区
swapon -s

# 查看指定某个文件的大小
du -sh [文件路径]

# 从大到小依次显示文件和目录大小
du -sh * | sort -rn

# 挂载hda2盘
mount /dev/hda2 /mnt/hda2

# 指定文件系统类型挂载(如:ntfs)
monut -t ntfs /dev/sdc1 /mnt/cdrom

# 挂载ios文件
mount -o loop xxx.ios /mnt/cdrom

四、关机/重启/注销

# 立即关机
shutdown -h now
init 0
poweroff

# 关机
telinit 0
halt

# 10分钟后关机
shutdown -h 10

# 指定时间关机(12:00关机)
shutdown -h 12:00

# 取消指定时间关机
shutdown -c

# 重启
shutdown -r now
reboot
init 6

# 10分钟后重启
shutdown -r 10

# 指定时间重启(12:00重启)
shutdown -r 12:00

# 退出登录shell
logout

区别:待补充

五、用户和用户组

# 创建用户
useradd [用户名]

# 删除用户
userdel -r [用户名]

# 查看系统所有用户
cut -d: -f1 /etc/passwd

# 查看系统用户详细信息
cat /etc/passwd

# 查看系统用户密码(只有root权限可读)
cat /etc/shadow

# 修改root密码  passwd -> 回车
passwd

# 修改用户密码,用户名 -> 回车 
passwd [用户名]

# 切换用户
su [用户名]

# 查看活动用户
w

# 查看指定用户信息
id [用户名]

# 创建用户组
groupadd [用户组名]

# 删除用户组
groupdel [用户组名]

# 重命名用户组
groupmod -n [新名称] [旧名称]

# 查看系统所有用户组
cut -d: -f1 /etc/group

# 查看系统所有用户详细信息
cat /etc/group

# 修改用户的组
usermod -g [组名] [用户名]

# 将用户添加到组
usermod -aG [组名] [用户名]

# 查看用户所在的组
groups [用户名]

# 查看用户登录日志
last

六、网络和进程

# 查看网卡
ip addr

# 查看网络接口属性
ifconfig

# 查看某个网卡的配置
ifconfig [网卡名]

# 查看网卡状态
ip a | grep -A 1 "ens160:"

# 查看路由表
route -n

# 查看所有监听的端口
netstat -lntp

# 查看某个端口占用情况
netstat -ltnp | grep [端口]

# 查看已经建立的TCP连接
netstat -antp

# 查看TCP/UDP的状态信息
netstat -lutp

# 查看iptables规则
iptables -L

# 以dhcp模式启用eth0
dhclient eth0

# 配置默认网关
route add -net 0/0 gw [Gateway_IP]

# 删除静态路由
route del 0/0 gw [Gateway_IP]

# 禁用网卡 (禁用之后机器可能起不来了) 网卡名--如:ens160
ifconfig [网卡名] down

# 启用网卡
ifconfig [网卡名] up

# 查看DNS记录,查看域名是否解析正常
nslookup [域名]

# 查看所有进程
ps -ef

# 过滤需要的进程信息
ps -ef | grep [进程名]
ps aux | grep [进程名]

# 结束进程
kill -9 [进程id]

# 按进程名结束进程
pkill [进程名]

七、打包与解压

# 压缩文件为tar.gz格式
tar -czvf xxx.tar.gz [文件名]

# 压缩多个文件和目录到一个tar.gz
tar -czvf xxx.tar.gz [文件1] [文件2] [目录1]

# 忽略隐藏文件压缩
tar -czf xxx.tar.gz [文件]/*
tar -czvf file.tar.gz file/*

# 查看tar包的文件
tar -tf xxx.tar.gz

# 压缩至zip
zip xxx.zip [文件]

# 多个文件和目录一起压缩成zip
zip -r xxx.zip [文件1] [文件2] [目录1]

# 解压zip
unzip xxx.zip

八、其他

# ssh登录
ssh [用户名]@[IP]
ssh root@192.192.100.99 #回车输入密码

# 查看arp表
arp
ip neigh
# 通过 ssh 将端口代理到本机(通过192.192.100.1:9903即可访问)
ssh -L 192.192.100.1:9903:localhost:9902 root@192.192.100.1
 
# 通过 ssh 将端口代理到本地(通过localhost:9902即可访问)
ssh -L localhost:9902:localhost:9902 root@192.192.100.1
# 自定义命令
# eg: ll 是 ls -al,如何设置呢?如下
vim ~/.bashrc
# 加入
alias ll='ls -al'
# 刷新资源
source ~/.bashrc
上次编辑于: