CentOS 命令
主要是 centos 6、7 命令,未特别标注则为 centos7 命令
文件操作
文件压缩及解压
filename 文件名,dirname 文件夹名
压缩
- .tar.gz -> tar -cjvf filename.tar.gz dirname
- .tar.bz2 -> tar -czvf filename.tar.bz2 dirname
- .zip -> zip -rv filename.zip dirname
解压
- .tar.gz -> tar -xzvf filename.tar.gz
- .tar.bz2 -> tar -xjvf filename.tar.bz2
- .zip -> unzip filename.zip
分割、合并
1 | # zip |
如 zip 命令不存在,可以参考下方 rpm 离线安装包,下载 zip 命令离线安装包
文件传输
linux 间文件传输1
2
3
4# 将本地文件复制到远程
scp avg.tar.gz root@101.176.31.63:/share
# 将远程文件复制到本地
scp root@112.49.11.147:/home/local/ xs_sdk.tar
硬链&软链
1 | # 硬链,不可链接文件夹 |
xshell 模糊匹配文件下载到 windows
1 | yum install lrzsz |
返回上一个文件夹
1 | cd $OLDPWD |
批量重命名
将文件名中的 ‘.txt’ 替换为 ‘.daily.txt’1
for file in `ls *.txt`;do mv $file `echo $file|sed 's/.txt/.daily.txt/g'`;done;
任务
后台运行任务
1 | # shell 后台任务,直接关闭 ssh 会导致任务结束,可以使用 exit 退出 ssh,这样任务将继续运行 |
开机执行命令
1 | # /etc/rc.local 软链到 /etc/rc.d/rc.local |
服务
服务开机自启
centos 61
2
3
4# 服务开机自启
chkconfig mysqld on
# 查询服务是否开机自启
chkconfig --list | grep mysqld
centos 71
2
3
4# 服务开机自启
systemctl enable mysqld.service
# 查询服务是否开机自启
systemctl is-enabled mysqld.service
服务注册
不同服务配置可能会存在差异,这里以 tomcat 为例1
2
3
4
5
6
7
8
9
10
11
12
13
14
15vim /usr/lib/systemd/system/tomcat.service
添加以下内容
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=oneshot
ExecStart=/share/tomcat/apache-tomcat-7.0.90/bin/startup.sh
ExecStop=/share/tomcat/apache-tomcat-7.0.90/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
其它配置1
2
3
4
5在启动服务(systemctl start tomcat.service)时可能会遇到以下问题
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
这里需要修改 ${CATELINA_HOME}/bin/setclasspath.sh,添加环境变量配置
export JAVA_HOME=/usr/jdk/jdk1.7.0_80
export JRE_HOME=/usr/jdk/jdk1.7.0_80/jre
mongodb service1
2
3
4
5
6
7
8
9
10
11
12
13[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/home/mongodb/bin/mongod --config /mnt/app/mongodb/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/home/mongodb/bin/mongod --shutdown --config /home/mongodb/bin/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
磁盘
常用命令
- df -h
查看磁盘使用率和分区状态 - du -h(-sh)
查看文件夹的占用磁盘空间大小 - head -10 filename
查看文件前几行 - tail -10 filename
查看文件后几行 - iostat -d -x -k 1
查看磁盘利用率
磁盘格式化
1 | mkfs -t xfs /dev/sdd |
磁盘挂载
mount 10.194.22.32:/yc /mnt/hisData1
2
3
4# 挂载 linux 共享目录,将 192.168.1.1 的 /data/nfs-share 目录,挂载到本地 /data/share-file 目录
mount 192.168.1.1:/data/nfs-share /data/share-file
# 挂载 windows 共享目录
mount -t cifs -o username=reader,password=reader1 //192.168.1.1/model /share/model
磁盘挂载常见错误
1 | # [Errno 5] Input/output error |
1 | mount: //192.168.1.1/Data$ is write-protected, mounting read-only |
注:如果需要设置开机挂载,在/etc/fstab添加一行配置即可:1
192.168.1.1:/data/nfs-share /data/share nfs rw,tcp,intr 0 1
然后服务端和客户端都要用enable设置nfs和rpcbind服务开机启动,然后才可以正常挂载
也可以在 rc.local 中添加上方的挂载代码来解决开机自动挂载
取消挂载1
umount /data/share
防火墙
iptables
1 | # 指定 ip 开放所有端口 |
firewall
1 | # 查询端口是否开放 |
端口
端口查询
1 | netstat -tunlp | grep 3306 |
查看端口占用及总连接数
查看端口占用1
2
3
4# 命令不存在,需要 yum install net-tools
sudo netstat -lnp|grep 8000
sudo ps [pid]
sudo kill pid
查看端口占用及总连接数1
netstat -n | grep ':22\|Address' && netstat -n | grep :22 | wc -l | awk '{ print "total ssh and sftp connection: "$1 }'
hosts
centos 71
2
3
4
5
6修改 hosts 文件
vim /etc/hosts
添加对应 ip、域名
140.172.38.117 ftp.cdc.noaa.gov
重启网络
systemctl restart network
centos 61
2
3
4
5
6修改 hosts 文件
vim /etc/hosts
添加对应 ip、域名
140.172.38.117 ftp.cdc.noaa.gov
重启网络
service network restart
dns
centos 61
2
3
4
5
6vim /etc/resolv.conf
# 修改 dns 为 114
nameserver 114.114.114.114
nameserver 8.8.8.8
# 重启服务
service network restart
centos 71
2
3
4
5nmcli connection show
# 输出的网卡名为 em1,下方则为 em1,网卡输出为 ens160,下方则为 ens160
nmcli con mod ens160 ipv4.dns "114.114.114.114 114.114.113.113"
nmcli con up ens160
ping www.baidu.com
rpm
rpm 离线安装包
使用 yumdownloader 下载 rpm 包1
2
3
4
5
6# 下载 rpm 包
yumdownloader --resolve --destdir=./ nginx
# 安装 rpm 包
rpm -Uvh *.rpm
# 如果存在 conflicts 文件,需要卸载对应依赖或使用
rpm -ivh *.rpm --replacefiles
这里可能会出现文件不是 rpm 格式的问题(文件损坏等情况),可使用 file 命令查看文件属性
进程
进程信息
1 | ls -al /proc/PID/ |
批量杀进程
keyword 是关键字1
2ps -ef | grep keyword |awk '{print $2}'|xargs kill -9
kill -9 `ps -ef | grep keyword | awk '{print $2}'`
selinux
1 | # 查看 selinux 状态 |
ntp
时间同步暂未使用过
frp
frp 服务为 https://www.natfrp.com/ 提供
使用 token 启动,并输出配置文件1
/usr/local/frp/frpc_linux_amd64 -f abcedfgh123abcedfgh123:6666 -w
使用配置文件启动1
nohup /usr/local/frp/frpc_linux_amd64 -c /usr/local/frp/frpc.ini > /usr/local/frp/frp.log 2>&1 &
This blog is under a CC BY-NC-SA 4.0 International License
本文链接:http://mgzu.github.io/2020/01/08/CentOS-Command/