fzy-blog

Linux system 命令

2019-05-24

Linux system 命令

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
一、文件操作
cd ~ 进入主目录 cd .. 返回上一级目录 cd .... 返回上两级目录 cd - 返回上次所在的目录
ls 查看当前目录下的文件 ls -l a* 列出当前目录以a开头的文件 ls -a 查看所有文件 包括隐藏文件
ll 查看文件详细信息
mkdir 文件名 新建文件夹
rmdir 文件名 是删除文件夹目录 mkdir dir1 dir2 同时创建两个目录 mkdir -p tmpdir1dir2 创建一个目录树
cp file1 file2 复制文件到 某个文件目录 cp -rf /tomcat/* /tomcat2/ 复制文件夹 cp dir . 复制一个目录下的所有文件到当前工作目录
cp -a file1 file2 在保留原文件属性的前提下复制文件
mv 移动指定文件到指定位置 mv dir1 new_dir 重命名移动 一个目录
rm a.log 删除普通文件
rm -rf *.* 删除这个目录下所有的文件
rm -rf *关键字* 删除和关键字有关的所有文件 -r 就是向下递归,不管有多少级目录,一并删除 -f 就是直接强行删除,不作任何提示的意思
tail -f 文件名 实时查看被添加到一个文件中的内容
cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1 查看一个文件的前两行
tail -2 file1 查看一个文件的最后两行
tail -f varlogmessages 实时查看被添加到一个文件中的内容
pwd 显示工作路径
rz -y 上传文件 sz 下载文件
zip 把/home目录下面的mydata目录压缩为mydata.zip
zip -r mydata.zip mydata #压缩mydata目录
zip -r abc123.zip abc 123.txt 把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip
unzip mydata.zip -d mydatabak 把/home目录下面的mydata.zip解压到mydatabak目录里面
sudo unzip -oq iss.war -d ../tomcat7/webapps/iss
unzip wwwroot.zip 把/home目录下面的wwwroot.zip直接解压到/home目录里面
unzip -v wwwroot.zip 查看把/home目录下面的wwwroot.zip里面的内容
unzip -j wwwroot.zip 把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录
tar -czf test.tar.gz /test1 /test2 压缩文件
tar -xvzf test.tar.gz 解压文件
jar -xvf project.war /project_a
jar -xvf project.war
tree 显示文件和目录由根目录开始的树形结构
lstree 显示文件和目录由根目录开始的树形结构
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch file.txt 创建一个新文件 -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
vim file1 编辑文件
vi file1 编辑文件
sed -i 's/user/userName/g' 123.txt sed命令可以批量替换多个文件中的字符串
perl -pie "s/wq/192.168.1.53/g" 123.txt 把123.txt文件中的所有wq都替换为192.168.1.153
> filename 清空文件

二、查找文件:
ls | grep app* 搜索当前目录下指定文件
whereis nginx
whereis java
从根据目录开始查找
find / -name tomcat
find / -name 123 搜索根和子目录 名字为 123的文件
从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行
find / -type f -name "*.log" | xargs grep "ERROR"
系统查找到httpd.conf文件后即时在屏幕上显示httpd.conf文件信息。
find / -name "httpd.conf" -ls
在根目录下查找某个文件
find . -name "test"
在某个目录下查找包含某个字符串的文件
grep -r "zh_CN" ./
grep -niR 'exception' filename
注:n,显示行号 R,查找所有文件包含子目录 i,忽略大小写 最后的“xxx”表示想要查找的文件名
head -n 10 example.txt 查看文件前10行
tail -n 10 example.txt

三、进程和端口
netstat -apn 查看所有进程和端口使用情况,其中最后一栏是PID/Program name
netstat –apn | grep 8080 查看8080端口使用情况
ip addr 查看IP
ps -ef 查看正在活动的进程 ps -ef | grep ecp 查看进程中有ecp的所有进程
kill -9 xxxxxx 关闭某个进程

四、网络
ifconfig eth0 显示一个以太网卡的配置
ifup eth0 启用一个 'eth0' 网络设备
ifdown eth0 禁用一个 'eth0' 网络设备
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
mount -t cifs //ip地址/共享文件夹名 /mnt -o username=FZY,password=feng
scp full.tar.gz root@192.168.191.128:/opt/soft 把当前系统文件复制到远程linux主机
scp root@192.168.191.128:/opt/soft/test.txt /opt/soft/ 把远程linux主机文件复制到当前系统
clear:如果你觉得你的屏幕上有太多的东西,看起来很讨厌,可以使用clear命令清空
echo command 打印出你的输入
ctrl + c 中止当前执行的脚本 回到命令输入模式

五、磁盘
df -hl 查看磁盘剩余空间
df -h 查看每个根路径的分区大小
du -sh [目录名] 返回该目录的大小
du -sm [文件夹] 返回该文件夹总M数
find / -size +100M -exec ls -lh {} \; 查询大于100M的文件
free -m 查看内存剩余大小

六、查看jvm大小
ps -ef | grep java

七、权限(用户权限和读写执行权限)
chmod 777 给文件赋予所有权限
chmod +x 给文件赋予可执行权限
chmod 755 -rwxr-xr-x
chmod 744 -rwxr--r--
su - deployer 切换到deployer用户
su -i 切换到root
sudo 可执行root权限操作
sudo chown aiuap_jc:aiuap_jc iss 把iss目录的root拥有权限改成aiuap_jc

八、用户和群组
useradd -c Name Surname -g admin -d homeuser1 -s binbash user1 创建一个属于 admin 用户组的用户
useradd user1 创建一个新用户
userdel -r user1 删除一个用户 ( '-r' 排除主目录)
usermod -c User FTP -g system -d ftpuser1 -s binnologin user1 修改用户属性
passwd 修改口令
passwd user1 修改一个用户的口令 (只允许root执行)
userdel peter 删除用户
useradd -d /var/ftp -s /sbin/nologin 12321
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组


Nginx配置
cd /usr/local/nginx/
cd /opt/issystem/logs/nginx/
sudo tail -f -n 1000 access.log
sudo ./nginx -s reload
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

Mysql导入导出:
导出(无需登录):
mysqldump -uroot -punisk.88 isdb > isdb-20171124.sql
mysqldump -uroot -punisk.88 isdb tb_d_uniskuser > tb_d_uniskuser.sql
mysqldump -t isdb -uroot -punisk.88 --tables tb_d_rubbish tb_d_rubbish_appeal > rubbishAll.sql
zip -r isdb-20170828.zip isdb-20170828.sql

导入(需要登录):
./mysqllogin
use isdb;
source /root/isdb-20171124.sql;

查找文件或者文件夹
find / -name filename.txt 根据名称查找/目录下的filename.txt文件
find . -name "*.xml" 递归查找所有的xml文件
find . -name "*.xml" |xargs grep "hello world" 递归查找所有文件内容中包含hello world的xml文件
grep -H 'spring' *.xml 查找所有的包含spring的xml文件
find ./ -size e | xargs rm -f & 删除文件大小为零的文件
ls -l | grep '.jar' 查找当前目录中的所有jar文件
grep 'test' d* 显示所有以d开头的文件中包含test的行
grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行
grep '[a-z]\{$\}' aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

查找后台运行的程序 以tomcat为例
ps -ef|grep tomcat 查看所有tomcat的进程
ps -ef|grep --color java 高亮要查询的关键字
查看端口占用情况
netstat -tln | grep 8080 查看端口8080的使用情况

查看端口属于哪个程序
lsof -i :8080

查看后台进程
ps aux|grep java 查看java进程
ps aux 查看所有进程

以树状图列出目录的内容
tree a

文件下载
wget http://file.tgz
curl http://file.tgz

远程登录
ssh username@ip

打印信息
echo $JAVA_HOME 打印java home环境变量的值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
一、系统信息
uname -a 查看内核/操作系统/CPU信息的linux系统信息命令
lsb_release -a 查看操作系统 注:可惜需要安装 yum -y -install lsb
head -n 1 /etc/issue 查看操作系统版本,是数字1不是字母L
cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令
cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id" 查看linux CPU大小
cat /proc/meminfo |grep MemTotal 查看内存大小
grep MemFree /proc/meminfo # 查看空闲内存量
cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令
cat /proc/meminfo :查看linux系统内存信息的linux系统命令
cat /proc/version :查看版本,类似uname -r
cat /proc/ioports :查看设备io端口
cat /proc/interrupts :查看中断
cat /proc/pci :查看pci设备的信息
cat /proc/swaps :查看所有swap分区的信息
ifconfig -a 查看IP地址
lsblk 查看所有硬盘
fdisk -l |grep Disk 查看硬盘大小
hostname 查看计算机名的linux系统信息命令
lspci -tv 列出所有PCI设备
lsusb -tv 列出所有USB设备的linux系统信息命令
lsmod 列出加载的内核模块
env 查看环境变量资源
free -m 查看内存使用量和交换区使用量
df -h 查看各分区使用情况
du -sh 查看指定目录的大小
uptime 查看系统运行时间、用户数、负载
cat /proc/loadavg 查看系统负载磁盘和分区
mount | column -t 查看挂接的分区状态
fdisk -l 查看所有分区
swapon -s 查看所有交换分区
hdparm -i /dev/hda 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE 查看启动时IDE设备检测状况网络
ifconfig 查看所有网络接口的属性
iptables -L 查看防火墙设置
route -n 查看路由表
netstat -lntp 查看所有监听端口
netstat -antp 查看所有已经建立的连接
netstat -s 查看网络统计信息进程
ps -ef 查看所有进程
top 实时显示进程状态用户
w 查看活动用户
id 查看指定用户信息
last 查看用户登录日志
cut -d: -f1 /etc/passwd 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l 查看当前用户的计划任务服务
chkconfig –list 列出所有系统服务
chkconfig –list | grep on 列出所有启动的系统服务程序

二、软件信息
./version.sh 查看tomcat jvm版本 先进到tomcat的bin目录
cd /usr/local/nginx/sbin ./nginx -v 查看nginx 版本
mysql -v 查看mysql 版本
java -version 查看java版本
whereis java
which java (java执行路径)
echo $JAVA_HOME
echo $PATH

三、网络
service network restart 重启网络
netstat -anp|grep 80 网络管理netstat命令 查看端口

四、关机 (系统的关机、重启以及登出 )
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hoursminutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销

五、挂载文件
mount devhda2 mnthda2 挂载一个叫做hda2的盘 - 确定目录 ' mnthda2' 已经存在
umount devhda2 卸载一个叫做hda2的盘 - 先从挂载点 ' mnthda2' 退出
fuser -km mnthda2 当设备繁忙时强制卸载
umount -n mnthda2 运行卸载操作而不写入 etcmtab 文件- 当文件为只读或当磁盘写满时非常有用
mount devfd0 mntfloppy 挂载一个软盘
mount devcdrom mntcdrom 挂载一个cdrom或dvdrom
mount devhdc mntcdrecorder 挂载一个cdrw或dvdrom
mount devhdb mntcdrecorder 挂载一个cdrw或dvdrom
mount -o loop file.iso mntcdrom 挂载一个文件或ISO镜像文件
mount -t vfat devhda5 mnthda5 挂载一个Windows FAT32文件系统
mount devsda1 mntusbdisk 挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass WinClientshare mntshare 挂载一个windows网络共享

六、磁盘空间
df -h 显示已经挂载的分区列表
ls -lSr more 以尺寸大小排列文件和目录
du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'
du -sk sort -rn 以容量大小为依据依次显示文件和目录的大小
rpm -q -a --qf '%10{SIZE}t%{NAME}n' sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间
Tags: Linux
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章