Linux常用命令

1/10/2023 Linux

🍉 linux 常用命令合集

# 目录结构选择

  • /usr 系统级目录,相当于C:\Program Files
  • /usr/lib 相当于C:\Windows\system32
  • /usr/local 用户级程序目录,一般通过yum安装的程序都在这
  • /usr/local/src 用户级源码存放目录,一般通过源码安装方式的程序都在这
  • /opt 可选的目录,一般放置额外的大型软件,比如Oracle,相当于D:\Software Files
  • /home 发布目录,自己开发的网页,api等程序建议放在此目录下

# 查找、查看

man cp 查看命令帮助
ls -al 列出所有文件,l竖着显示
ls | grep -v test.tar.gz | xargs rm 查找除某个文件外的所有文件,并删除
find / -name mysql 查找根目录下所有mysql目录和文件
find / -name mysql |xargs rm  xargs rm查找并删除
find / -name "*Web.dll" --模糊查找

#查看文件
cat 1.txt 查看文件
tac 1.txt 查看文件,从下往上反着来
vim 1.txt 编辑文件
nl 1.txt 查看文件并加行号
more 1.txt 翻页查看文件,显示内容进度。 空格下一页;enter下一行;ctrl+b上一行
1
2
3
4
5
6
7
8
9
10
11
12
13

# 系统查看,设置

#环境变量
cat /etc/profile 环境变量配置
env  查看用户环境变量
export 查看系统环境变量
which nginx 查看某个环境变量的位置
#查看ip地址
ifconfig    查看ip地址
curl ifconfig.me/all.json   查看外网ip地址
curl -i www.baidu.cm    查看网站是否可访问,可以访问返回HttpCode 200
ping www.baidu.com  发包ICMP包到站点,有响应可以访问
#查看cpu信息
lscpu
cat /etc/cpuinfo
cat /proc/cpuinfo
#查看系统版本
lsb_release -a
cat /proc/version
#查看系统属于多少位
arch
getconf LONG_BIT
uname -a
#设置系统时间显示格式
sudo echo "export TIME_STYLE='+%Y-%m-%d %H:%M:%S'" >> /etc/profile && source /etc/profile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 文件管理

pwd 显示当前目录的完整路径
source /etc/profile   修改配置文件后执行,使其生效
mkdir -p 创建新目录,确保上级目录存在,不存在则创建
rmdir 删除目录,目录必须为空
mv source dist 移动 source:源文件 dist:目标位置  相同路径则重命名文件或文件夹
rm 删除文件夹和文件 -rfi r:递归 f:强制 i:操作前先询问
ln /usr/local/webserver/nginx /usr/local/bin       为某个目录创建引用链接,类似windows的快捷方式
scp ./xxxx.tar.gz root@119.23.233.64:/usr/local/src    将本地文件上传到服务器
#压缩,解压
tar -czvf test.tar.gz a.txt     压缩并打包文件,将a.txt打包压缩
tar -tzvf test.tar.gz       列出压缩包文件
tar -xzvf test.tar.gz       压缩包解压
#设置权限
chmod 770 * -R  更改文件9个读写执行属性,修改所有子目录权限  r 读取 4, w 写入 2, x 执行 1
chmod 770 meeting 修改主目录权限
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 用户相关配置

cat /etc/passwd  查看所有用户
cat /etc/shadow | grep sam  查看用户密码
cat /etc/passwd | grep nologin -v 排除等于nologin的用户 -v 排除
cat /etc/group  查看所有用户组
passwd sam   修改用户密码解锁用户
passwd -d sam  修改用户密码为空口令,不允许该用户登录
passwd -l sam  锁定用户使其不能登录
passwd -u sam  锁定用户使其不能登录
passwd --status or -S sam  查看用户状态(是否被锁定)
userdel test  删除用户
root:x:0:0:sam:/root:/bin/bash x:表示用户密码 0:用户id 0:用户组Id sam:注释描述 /roo:主目录 /bin/bash:登录shell
root:x:0:sam,postfix x:表示组密码 0:组id sam,postfix:属于这个组下面的用户
1
2
3
4
5
6
7
8
9
10
11
12

# 内存、磁盘管理

df -h /root 显示磁盘使用情况
du -h /etc/passwd 显示文件或目录的占用空间 -a 显示当前目录和下级目录和文件  -h只显示当前目录和文件
free -h 查看系统内存使用情况
top -p 查看各个进程占用内存情况 -p 显示指定进程信息
top -o %MEM 查看内存占用按大小排序
htop top的高级版,可以颜色区分,显示明细等..功能更强大
ps auxw|head -1;ps -auxw|sort -nr -k4|head -10 查看内存占用前10的进程
ps -ef|grep Nginx 进程状态查询,也可有效判断例如Nginx是否在运行
netstat -tunpl |grep :80 查看80端口
sudo fuser -k 80/tcp 将端口80结束
kill 3010   结束进程
1
2
3
4
5
6
7
8
9
10
11

# 服务、进程管理

chkconfig --add mysqld  创建进程服务
chkconfig --level 35 mysqld on 
chkconfig --del 卸载服务
chkconfig --list 服务列表
systemctl reset-failed mysqld 移除服务
#创建守护进程
cd /etc/systemd/system 1.找到进程池
touch testapi.service 2.创建进程脚本  注意:脚本必须带.service后缀,不然系统无法找到
systemctl daemon-reload 3.刷新所有服务,针对手动删除了服务文件的情况
systemctl start 服务名 4.启动服务
1
2
3
4
5
6
7
8
9
10

# 软件包管理

wget --url  下载资源 --nogpgcheck 禁用gpg检查
#rpm
rpm 包管理工具,自动下载安装,不会处理依赖关系
rpm -qa openssh*    查看openssh是否安装
rpm -qa | grep mariadb  查看mariadb是否安装
rpm -ql mariadb 查看mariadb的安装目录
#yum
yum 包管理工具,自动下载安装,自动处理依赖关系
yum check-update | grep openssh 列出可更新的软件清单
yum clean packages 清除缓存目录的安装包
yum list openssh*  查看openssh是否已安装和可安装、可升级的包
yum list installed | grep mariadb 查看已安装的软件
yum remove -y mariadb-libs.x86_64 卸载lib或软件
yum install -y mysql 安装软件  -y:默认不要确认,直接安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# Shell 运算

expr 4 / 2 整数运算,/ 前后必须空格,相乘\*
echo "scale=3;10/3"|bc  小数运算
1
2
Last Updated: 7/5/2023, 4:03:58 PM