Linux 命令
2024-07-04
文章目录
0 .Linux 权限
chmod 777 files-name #更改指定文件的权限
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
其中:rwx也可以用数字来代替
r ————4
w ———–2
x ————1
- ————0
-rw——- (600) 只有所有者才有读和写的权限
-rw-r–r– (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx—— (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx–x–x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
“755”怎么构成的:"0"表示没有权限、“1”表示可执行权限、“2”表示可写权限、“4”表示可读权限。“7=1+2+4,5=1+4”
1. Linux系统发行版本
lsb_release -a
2. JAVA 启动
nohup java -jar omp-base.jar > nohup.out 2>&1 &
3. 查进程
1. 按照应用查进程
ps -ef|grep omp-base.jar
2. 利用管道只保留输出端口号
ps -ef| grep omp-base.jar |grep -v grep |awk '{print $2}'
4 查端口
4.1 lsof 查端口
lsof(list open files)是一个列出当前系统打开文件的工具。
lsof 查看端口占用语法格式:
lsof -i:端口号
查看服务器 8000 端口的占用情况:
# lsof -i:8000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nodejs 26993 root 10u IPv4 37999514 0t0 TCP *:8000 (LISTEN)
可以看到 8000 端口已经被轻 nodejs 服务占用。
lsof -i 需要 root 用户的权限来执行,如下图:
更多 lsof 的命令如下:
lsof -i:8080:查看8080端口占用
lsof abc.txt:显示开启文件abc.txt的进程
lsof -c abc:显示abc进程现在打开的文件
lsof -c -p 1234:列出进程号为1234的进程所打开的文件
lsof -g gid:显示归属gid的进程情况
lsof +d /usr/local/:显示目录下被进程开启的文件
lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
lsof -d 4:显示使用fd为4的进程
lsof -i -U:显示所有打开的端口和UNIX domain文件
4.2 netstat 查端口
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。
netstat 查看端口占用语法格式:
netstat -tunlp | grep 端口号
- -t (tcp) 仅显示tcp相关选项
- -u (udp)仅显示udp相关选项
- -n 拒绝显示别名,能显示数字的全部转化为数字
- -l 仅列出在Listen(监听)的服务状态
- -p 显示建立相关链接的程序名
例如查看 8000 端口的情况,使用以下命令:
# netstat -tunlp | grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 26993/nodejs
更多命令:
netstat -ntlp //查看当前所有tcp端口
netstat -ntulp | grep 80 //查看所有80端口使用情况
netstat -ntulp | grep 3306 //查看所有3306端口使用情况
5 kill 杀掉进程
在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:
kill -9 PID
如上实例,我们看到 8000 端口对应的 PID 为 26993,使用以下命令杀死进程:
kill -9 26993
6. 查大小 查文件
1. 查找文件大于880M的文件
find / -type f -size +800M
2.统计/home/目录下的文件大小 list展示
du -h --max-depth=1 /home/
3. 输入“” 到catalina.out 文件 = 清空文件
echo -n " " > catalina.out --清空文件内容
7. 用户策略相关
# -- chage ---------------------------------------------------------
# linux下怎样设置某个用户的密码永不过期
sudo chage -M 99999 username , 设置用户username的密码最长使用期限是99999天
# 查看用户策略
chage -l name
# -- chgrp ---------------------------------------------------------
# 修改用户组 修改用户
# change group的简写,修改文件所属的用户组。
chgrp :
# 修改后查看 ls -l
chgrp users test.log
-rwxrwx--- 1 work users 0 Jun 8 15:46 test.log
# 如果要修改该目录下所有文件和目录,使用-R参数。
# 要被改变的group名,必须在 /etc/group 文件中。 /etc/group文件记录系统中所有的组名称。
chgrp -R users test
# -- chown ---------------------------------------------------------
# linux下修改文件所有者
# change owner的简写, 修改文件的所有者。-R 递归,将子目录下文件全部修改。
chown [-R] 账号名称 文件或目录
# 将文件所有者修改bin
chown bin test.log
# **修改的用户必须在/etc/passwd文件中 /etc/passwd记录用户信息。**
# chown 还可以修改组名称,将所有者和组名称都修改为root。
chown root:root test.log
# linux下同时修改文件所有者和用户组
chown work.work TongWeb7.0.4.1 -R
8. 文件操作
8.1 使用cat与tail、head的组合命令
1、查看最后1000行的数据
cat filename | tail -n 1000
2、查看1000到3000行的数据
cat filename | head -n 3000 | tail -n +1000
3、查看、打印文件所有内容
cat filename
4、制定输出行数
1、打印文件最后1000行的数据
cat filename | tail -n 1000
2、打印文件第1000行开始以后的内容
cat filename | tail -n +1000
3、打印前1000的内容
cat filename | head -n 1000
4、显示文件最后100行
cat filename | tail -n 100
5、显示文件前面100行
cat filename | head -n 100
6、从100行开始显示,显示100行以后的所有行
cat filename | tail -n +100
7、显示100行到500行
cat filename | head -n 500 | tail -n +100
8.2 grep命令
grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
grep -B 5 foo file 显示foo及前5行
grep -A 5 foo file 显示foo及后5行
8.3 vim 命令
8.3 scp 远程复制文件
8.3.1 将本地文件拷贝到远程
# scp 文件名 用户名@计算机IP或者计算机名称:远程路径
scp /root/install.* root@192.168.1.12:/usr/local/src
# scp -r 将本地文件夹拷贝到远程
#scp -r 目录名 用户名@计算机IP或者计算机名称:远程路径
scp -r /home/test1 zhidao@192.168.0.1:/home/test2
# test1为源目录,test2为目标目录,zhidao@192.168.0.1为远程服务器的用户名和ip地址。
8.3.2 从远程将文件拷回本地
# scp 用户名@计算机IP或者计算机名称:文件名 本地路径
scp root@192.168.1.12:/usr/local/src/*.log /root/
# scp -r 用户名@计算机IP或者计算机名称:目录名 本地路径
scp -r zhidao@192.168.0.1:/home/test2 /home/test1
#zhidao@192.168.0.1为远程服务器的用户名和ip地址,test1为源目录,test2为目标目录。