首页 / LINUX / Linux系统常用命令【长期更新】
Linux系统常用命令【长期更新】
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux系统常用命令【长期更新】,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7173字,纯文字阅读大概需要11分钟。
内容图文
![Linux系统常用命令【长期更新】](/upload/InfoBanner/zyjiaocheng/933/698a7a20654b400da21b9f41f051ec22.jpg)
本文包含了工作中日常会用到一些linux命令,总会有一些会忘记,这里也记录一下,保持更新~~
如果各位看官发现哪里有错误的地方,欢迎指出,一起学习~~
总览
- 判断是rhel还是centos
- 查看系统版本
- 查看系统内存大小(总数,kb)
- 查看Linux系统CPU是几核
- 分区后同步分区至内存
- 查看磁盘uuid
- 查看系统编码
- 每隔多少秒执行一次命令(一般用在跟踪查看集群等服务状态)
- 筛选查看文件或者文件夹
- 查看网络路由图
- centos6/7网络yum源
- centos6/7网络epel源
- yum本地安装rpm包
- centos6修改主机名
- 手动配置时间
- 显示秒后边时间(毫秒)
- firewall添加端口
- 解决端口被占用问题
- 解决Windows文件在Linux中打开乱码问题
- 解压压缩命令
- 将一个大文件分割成几个同等大小的小文件
- 查看目录下有多少文件
- 检测系统是否安装某些应用
- 检测系统是否开启某个端口
- grep/egrep筛选并打印文件内字段
- 查看进程运行时间
- 创建指定大小的假文件(测试使用)
- 删除查询的所有
- vim编辑中批量替换字符串
- vim编辑中删除不包含指定字符串的行及统计匹配个数
- 删除除a之外的文件
- 批量替换多个文件中的字段
- 批量替换文件中从A到C的范围内容
- 筛选字段在某行前加入一行或行后加入一行
- 批量删除多少天之前的目录或者文件
- centos安装ping命令
- 永久挂载光盘
- df和fdisk显示磁盘大小不一致
- mount挂载nfs
- 开机状态下识别新添加硬盘
判断是rhel还是centos
cat /etc/*-release
查看系统版本
uname -a
cat /etc/system-release
查看系统内存大小(总数,kb)
cat /proc/meminfo | grep MemTotal
free -m (free -g)
top
查看Linux系统CPU是几核
cat /proc/cpuinfo |grep "cores"|uniq
分区后同步分区至内存
partprobe 分区号
eg:partprobe /dev/sdb1
查看磁盘uuid
blkid
查看系统编码
locale
每隔多少秒执行一次命令(一般用在跟踪查看集群等服务状态)
watch
-n 更新之间等待的秒数
eg:watch -n 1 ntpq -p
筛选查看文件或者文件夹
ll |grep "^-" 仅查看文件
ll |grep "^d" 仅查看文件夹
查看网络路由图
用于探测数据包从源到目的经过路由的IP(Windows中命令为tracert)
traceroute 域名
centos6/7网络yum源
centos6:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
centos7:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
centos6/7网络epel源
centos6:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
centos7:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum本地安装rpm包
yum localinstall xxx.rpm(可解决使用rpm -ivh安装时出现的依赖问题)
centos6修改主机名
vim /etc/sysconfig/network
手动配置时间
date -s "2020-05-19 18:11:00"
date -s 18:11:00
显示秒后边时间(毫秒)
date +%T+%N
firewall添加端口
firewall-cmd --add-port=80/tcp --zone=public --permanent
解决端口被占用问题
查看端口:netstat -lnt 端口号
直接查看端口号及端口号所属进程:lsof -i :端口号(lsof -i :48026)
干掉进程PID:kill -9 进程号
解决Windows文件在Linux中打开乱码问题
yum -y install dos2unix
dos2unix -k 文件名 (将DOS格式文本文件转换成UNIX格式)
参数:
-k 保持文件时间戳不变
-n 将修改后文件保存至新文件中,源文件不变
cat 文件名 (检验)
解压压缩命令
tar压缩:
tar -zcvf 文件名.tar(.gz)压缩文件/目录
eg:tar -zcvf log.tar log
tar解压
tar -zxvf 文件名.tar
指定目录解压:
tar -zxvf 文件名.tar -C 指定目录
去除目录结构解压:
去除压缩文件内一级目录,将一级目录下内容解压到/home/elasticsearch目录下
tar -xvf /home/elasticsearch-6.2.4.tar.gz --strip-components 1 -C /home/elasticsearch
zip解压:
unzip 文件名.zip
将一个大文件分割成几个同等大小的小文件
split -b 500M 文件名
将多个小文件合并成原文件
cat 小文件名* > 原文件名
查看目录下有多少文件
ls |wc -l
检测系统是否安装某些应用
yum list installed | grep ** eg:yum list installed | grep mysql
检测系统是否开启某个端口
telnet ip port
eg:telnet 192.168.99.195 22
nc -z ip port (查询udp协议层:nc -uz ip port)
eg:nc -z 192.168.99.195 22
grep/egrep筛选并打印文件内字段
grep查看文件中是否包含有指定的字段并打印出来
grep 8080 文件 (查看文件中中含有8080字段的行)
grep -n 8080 文件(确定8080字段在文件中的行数)
grep -n -i "ggpush" 文件 (确定ggpush在文件中的行数并且忽略大小写)
grep 'ggpush' *.cnf (匹配当前目录下所有后缀为cnf文件含有过滤字段的内容)
grep -v '关键字' (过滤掉指定的日志信息)
eg:
grep -rn '123' * (递归查询当前目录下所有文件中含有123的文件和行)
egrep '2|5' test 列出含有2或者5的行
egrep '33(2|5)' test 列出包含33,而且后面跟的是2或5的行
查看进程运行时间
ps -p 进程号 -o etimes
创建指定大小的假文件(测试使用)
dd if=/dev/zero of=test.file bs=25MB count=1
删除查询的所有
rm -rf $(ls -a)
vim编辑中批量替换字符串
:%s/1/2/g 把文件中“1”全部替换为“2”
vim编辑中删除不包含指定字符串的行及统计匹配个数
:g/INSERT/d 是找到INSERT, 删之
:v/INSERT/d 是找到非INSERT, 删之
:%s/INSERT//gn,统计INSERT个数,n表示只报告匹配的个数而不进行实际的替换。
删除除a之外的文件
eg:删除a之外的所有文件
rm -rf !(a)
删除a和b之外的所有文件
rm -rf (a|b)
如果出现-bash: !: event not found
eg:[root@localhost jenkins]# rm -rf !(jenkins.war)
-bash: !: event not found
执行shopt -s extglob即可
批量替换多个文件中的字段
eg:/home/目录中有test1,test2文件,需将所有文件中的“ccc”替换为“rr”
内容分别是:test1:aabbcc test2:ccddee
命令为:sed -i "s/cc/rr/g" `grep cc -rl ./`
其中,
cc为原字符串
rr为目标字符串
-rl是递归查找所有包含字符串cc的文件
批量替换文件中从A到C的范围内容
eg:一个文件中含有字段为“A12342543656C”,需要将这些内容替换为“ABC”
命令为:sed -i 's/A\(.*\)C/ABC/g'
其中,
\(.*\)为A到C之间的全部字段
筛选字段在某行前加入一行或行后加入一行
在test.sh文件中包含的1111字段的行前加入新的一行2222
sed -i "/1111/i\2222" /root/test.sh
在test.sh文件中包含的1111字段的行前加入新的一行3333
sed -i "/1111/a\3333" /root/test.sh
批量删除多少天之前的目录或者文件
find ./ -maxdepth 1 -type d -mtime +30|xargs rm -rf
-maxdepth 1 代表搜索最大深度为1(2:可搜索目录下内容)
-type d 代表查询的为目录(d:目录;f:普通文件)
-mtime +30 代表30*24即30天以前的文件或者目录,相应可自行修改
centos安装ping命令
yum provides "*/ping" 使用provides检测哪个软件包里含有ping命令
可以看到好几个软件包都包含这个命令,但 iputils 最像是要找的软件包,直接yum安装
yum -y install iputils
即可使用ping命令 ^.^
![Linux系统常用命令【长期更新】 - 文章图片](/upload/getfiles/0001/2021/5/10/20210510071242266.jpg)
永久挂载光盘
修改/etc/fstab
/dev/sr0 /mnt/storage udf,iso9660 defaults 0 0
df和fdisk显示磁盘大小不一致
这个问题一般是因为文件系统和分区大小不一致导致的
resize2fs使文件系统filesystem与partition保持一致从而提升空间。
$ resize2fs /dev/sda1 (指定问题分区即可)
mount挂载nfs
mount -t 192.168.x.x:/opt/test /mnt/test123
mount参数介绍
(1)-a:把/etc/fstab中列出的路径全部挂载。
(2)-t:需要mount的类型,如nfs等。
(3)-r:将mount的路径定为read only。
(4)-v mount:过程的每一个操作都有message传回到屏幕上。
(5)rsize=n:在NFS服务器读取文件时NFS使用的字节数,默认值是1 024个字节。
(6)wsize=n:向NFS服务器写文件时NFS使用的字节数,默认值是1 024个字节。
(7)timeo=n:从超时后到第1次重新传送占用的1/7秒的数目,默认值是7/7秒。
(8)retry=n:在放弃后台mount操作之前可以尝试的次数,默认值是7 000次。
(9)soft:使用软挂载的方式挂载系统,若Client的请求得不到回应,则重新请求并传回错误信息。
(10)hard:使用硬挂载的方式挂载系统,该值是默认值,重复请求直到NFS服务器回应。
(11)intr:允许NFS中断文件操作和向调用它的程序返回值,默认不允许文件操作被中断。 (12)fg:一直在提示符下执行重复挂载。
(13)bg:如果第1次挂载文件系统失败,继续在后台尝试执行挂载,默认值是失败后不在后台处理。
(14)tcp:对文件系统的挂载使用TCP,而不是默认的UDP。
开机状态下识别新添加硬盘
echo "- - -" > /sys/class/scsi_host/host0/scan
如果/sys/class/scsi_host/下有多个host文件,那么每个都需要修改,以此来重刷设备信息
可以直接执行此命令(亲测可用)
for i in `ls /sys/class/scsi_host/`; do echo "- - -" > /sys/class/scsi_host/$i/scan; done
内容总结
以上是互联网集市为您收集整理的Linux系统常用命令【长期更新】全部内容,希望文章能够帮你解决Linux系统常用命令【长期更新】所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。