1.1 查看系统磁盘大小
df -hl #查看磁盘剩余空间
df -h #查看每个根路径的分区大小
du -sh [目录名] #返回该目录的大小
du -sm [文件夹] #返回该文件夹总M数
du -h [目录名] #查看指定文件夹下的所有文件大小(包含子文件夹)
sudo fdisk -l #查看硬盘的分区
sudo hdparm -i /dev/hda #查看IDE硬盘信息
sudo hdparm -I /dev/sda 或 #sudo apt-get install blktool #sudo blktool /dev/sda id #查看STAT硬盘信息
du 文件夹名 -sh #查询当前文件夹所占磁盘大小 eg: du ../log/ -sh
1.2 查看系统相关信息
uname -a # 查看内核/操作系统/CPU信息
cat /etc/issue
cat /etc/redhat-release # 查看操作系统版本
cat /proc/cpuinfo # 查看CPU信息
hostname # 查看计算机名
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备
lsmod # 列出加载的内核模块
env # 查看环境变量
1.3 查看系统日志文件(可以通过cat或tail命令查看)
cat/tail /var/log/message #系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
cat/tail /var/log/secure #与安全相关的日志信息
cat/tail /var/log/maillog #与邮件相关的日志信息
cat/tail /var/log/cron #与定时任务相关的日志信息
cat/tail /var/log/spooler #与UUCP和news设备相关的日志信息
cat/tail /var/log/boot.log #守护进程启动和停止相关的日志消息
1.4 进程
ps -ef # 查看所有进程
top # 实时显示进程状态
free -m # 查看Linux系统内存使用情况
1.5 查询命令
find / -name file1 # 从 ‘/’ 开始进入根文件系统查找文件和目录
find / -user user1 # 查找属于用户 ‘user1’ 的文件和目录
find /home/user1 -name *.bin # 在目录 ‘/ home/user1’ 中查找以 ‘.bin’ 结尾的文件
find /usr/bin -type f -atime +100 # 查找在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 # 查找在10天内被创建或者修改过的文件
locate *.ps # 寻找以 ‘.ps’结尾的文件,先运行 ‘updatedb’ 命令
find -name ‘*.[ch]’ | xargs grep -E ‘expr’ # 在当前目录及其子目录所有.c和.h文件中查找 ‘expr’
find -type f -print0 | xargs -r0 grep -F ‘expr’ # 在当前目录及其子目录的常规文件中查找 ‘expr’
find -maxdepth 1 -type f | xargs grep -F ‘expr’ # 在当前目录中查找 ‘expr’
1.6 文本内容处理
grep str /tmp/test # 在文件 ‘/tmp/test’ 中查找 “str”
grep ^str /tmp/test # 在文件 ‘/tmp/test’ 中查找以 “str” 开始的行
grep [0-9] /tmp/test # 查找 ‘/tmp/test’ 文件中所有包含数字的行
grep str -r /tmp/* # 在目录 ‘/tmp’ 及其子目录中查找 “str”
diff file1 file2 # 找出两个文件的不同处
sdiff file1 file2 # 以对比的方式显示两个文件的不同
1.7 查看文件内容
# 文件内容查看命令
tail -f a.java # 查看a.java文件的后10行内容
head a.java # 查看a.java文件的前10行内容
tail -f a.java # 查看a.java文件的后10行内容
head -n 7 a.java # 查看a.java文件的前7行内容
tail -n 7 a.java # 查看a.java文件的后7行内容
# 文件内容搜索命令
grep under 123.txt # 在123.txt文件中搜索under字符串,大小写敏感,显示行
grep -n under 123.txt # 在123.txt文件中搜索under字符串,大小写敏感,显示行及行号
grep -v under 123.txt #在123.txt文件中搜索under字符串,大小写敏感,显示没搜索到的行
grep -i under 123.txt # 在123.txt文件中搜索under字符串,大小写敏感,显示行
grep -ni under 123.txt # 在123.txt文件中搜索under字符串,大小写敏感,显示行及行号
cat file1 # 从第一个字节开始正向查看文件的内容
head -2 file1 # 查看一个文件的前两行
more file1 # 查看一个长文件的内容
tac file1 # 从最后一行开始反向查看一个文件的内容
tail -3 file1 # 查看一个文件的最后三行
vi file # 打开并浏览文件
1.8 重定向功能
命令 | 说明 |
---|---|
> | 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式 |
>> | 如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’ 模式 |
ls > text.txt # 覆盖文件
ls >> text.txt # 追加文件
1.9 防火墙相关
Centos7默认安装了firewalld,如果没有安装的话,可以使用
yum install firewalld firewalld-config
进行安装。
systemctl start firewalld # 启动防火墙
systemctl status firewalld # 查看防火墙状态
systemctl stop firewalld # 关闭防火墙(暂时性,重启后失效)
systemctl disable firewalld # 禁用防火墙(永久性)
systemctl enable firewalld # 启用防火墙(设置开机自启)
firewall-cmd --zone=public --list-ports # 查看所有打开的端口
firewall-cmd --zone=public --add-port=80/tcp # 在指定区域打开端口(记得重启防火墙)
firewall-cmd --zone=public --add-port=80/tcp --permanent # 开放端口(永久生效)
firewall-cmd --zone=public --remove-port=5672/tcp --permanent # 移除端口(永久生效)
firewall-cmd --reload # 重启命令
netstat -lnpt |grep 5000 # 查看5000这个端口被哪个进程占用
ps 68321 # 查看进程的详细信息
kill -9 68321 # 终止进程
2.Linux基础命令
2.1 Linux系统目录
├── bin -> usr/bin # 用于存放二进制命令
├── boot # 内核及引导系统程序所在的目录
├── dev # 所有设备文件的目录(如磁盘、光驱等)
├── etc # 配置文件默认路径、服务启动命令存放目录
├── home # 用户家目录,root用户为/root
├── lib -> usr/lib # 32位库文件存放目录
├── lib64 -> usr/lib64 # 64位库文件存放目录
├── media # 媒体文件存放目录
├── mnt # 临时挂载设备目录
├── opt # 自定义软件安装存放目录
├── proc # 进程及内核信息存放目录
├── root # Root用户家目录
├── run # 系统运行时产生临时文件,存放目录
├── sbin -> usr/sbin # 系统管理命令存放目录
├── srv # 服务启动之后需要访问的数据目录
├── sys # 系统使用目录
├── tmp # 临时文件目录
├── usr # 系统命令和帮助文件目录
└── var # 存放内容易变的文件的目录
2.2 Linux下文件的详细信息
R:Read w:write x: execute执行
-rw-r--r-- 1 root root 3556862 Jan 19 2023 bussAdmin.jar
前三位代表当前用户对文件权限:可以读/可以写/不能执行
中间三位代表当前组的其他用户对当前文件的操作权限:可以读/不能写/不能执行
后三位其他用户对当前文件权限:可以读/不能写/不能执行
2.3 更改文件的权限
chmod u+x web.xml (---x------) 为文件拥有者(user)添加执行权限;
chmod g+x web.xml (------x---) 为文件拥有者所在组(group)添加执行权限;
chmod 111 web.xml (---x--x--x) 为所有用户分类,添加可执行权限;
chmod 222 web.xml (--w--w--w-) 为所有用户分类,添加可写入权限;
chmod 444 web.xml (-r--r--r--) 为所有用户分类,添加可读取权限;
2.4 压缩与解压缩
# tar压缩(-c)
tar -cvf start.tar a.java b.java # 将当前目录下a.java、b.java打包
tar -cvf start.tar ./* # 将当前目录下的所欲文件打包压缩成haha.tar文件
tar -zcvf start.tar.gz a.java b.java # 将当前目录下a.java、b.java打包
tar -zcvf start.tar.gz ./* # 将当前目录下的所欲文件打包压缩成start.tar.gz文件
# tar解压(-x)
tar -xvf start.tar # 解压start.tar压缩包,到当前文件夹下;
tar -xvf start.tar -C usr/local # (C为大写,中间无空格)解压start.tar压缩包,到/usr/local目录下;
tar -zxvf start.tar.gz # 解压start.tar.gz压缩包,到当前文件夹下;
tar -zxvf start.tar.gz -C usr/local # (C为大写,中间无空格)解压start.tar.gz压缩包,到/usr/local目录下;
# zip(压缩)
zip lib.zip tomcat.jar # 将单个文件压缩(lib.zip)
zip -r lib.zip lib/ # 将目录进行压缩(lib.zip)
zip -r lib.zip tomcat-embed.jar xml-aps.jar # 将多个文件压缩为zip文件(lib.zip)
# unzip(解压)
unzip file1.zip # 解压一个zip格式压缩包
unzip -d /usr/app/com.lydms.english.zip # 将`english.zip`包,解压到指定目录下`/usr/app/`
后续会继续更新!