面试,有用过哪些Linux命令
查找文件find,目录和文件的创建删除以及赋予权限mkdir, touch, chmod,文件的查看编辑vi, cat, tail,软硬链接的创建ln -s,查看结束进程ps -ef, kill -9,服务运行service name start,系统信息的监控vmstat, uptime, free, top,df。
查找文件
find path -option [ -print ] [ -exec -ok command ] {} \;
find ./ -name 'zwh'
-amin n : 在过去 n 分钟内被读取过
-atime n : 在过去n天内被读取过的文件
-cmin n : 在过去 n 分钟内被修改过
-ctime n : 在过去n天内被修改过的文件
-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组
-type c: 文件类型是 c 的文件。c有以下几种类型
- d: 目录
- c: 字型装置文件
- b: 区块装置文件
- p: 具名贮列
- f: 一般文件
- l: 符号连结
- s: socket -pid n : process id 是 n 的文件
目录文件的创建和删除以及权限
- 目录的创建 mkdir 目录名 mkdir -p 创建多级目录
- 文件的创建touch 文件名 vi 文件名 然后要保存
- rm -i 删除前逐一询问确认 -f 直接删除 -r 删除目录
- chmod 751 file,读 4 r,写 2 w,执行 1 x
vi 命令的操作
i 编辑
ZZ or :wq保存退出
ZQ or :q!不保存退出
nG 去某一行,n默认为最后一行
gg 第一行
/ 搜索 n下一个 N 上一个
v 选中当前字符,V选中当前行,y复制,d剪切,p光标后粘贴,P光标前粘贴
yy or Y 复制当前一行
y 复制当前字符,y$复制当前字符到行结尾
x 删除光标单词
dw 删除光标往后的一个单词
dnw 删除光标往后的n个单词
dd 删除光标所在的一整行
D 删除光标直到行末的文本
:set number 显示行号
u 撤销
软链接和硬链接的创建
Linux软链接和硬链接
硬链接就相当于复制加链接,改了源文件,所有硬链接都会被修改,源文件删除不会影响硬链接
ls 命令
-
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-rw-------. 1 root root 1559 Apr 15 2020 anaconda-ks.cfg -rw-r--r-- 1 root root 1500553 Sep 17 08:46 otp_src_22.0.tar.gz drwxr-xr-x 9 root root 4096 Oct 17 22:43 soft drwxr-xr-x 2 root root 111 Sep 10 20:33 test第二行第一列 -rw-r--r-- 中第1个字符是文件类型
-:普通文件 d:目录文件后面的字符描述的是读写可执行权限rw-r--r-- 所有者(rw-),组用户(r--),其他用户(r--),-表示没有该项权限。
-
-r 将文件以相反次序显示(原定依英文字母次序)
-
-t 将文件依建立时间之先后次序列出
-
-F 在文件名后面显示文件类型
\* 代表可执行文件\ / 代表目录\ @ 代表链接文件\ | 代表管道文件\ = 代表套接字\ \> 代表进程间通讯设备 -
-a 显示所有文件(包括隐藏文件)
退出当前命令
退出当前命令:ctrl+c
彻底退出执行睡眠 :ctrl+z 挂起当前进程
jobs查看后台运行的命令,-l 可显示所有任务的PID
fg jobnumber将后台命令调至前天继续运行
bg jobnumber将一个后台暂停的命令,变成继续执行。
解压指令
linux tar 参数解析
-c:建立压缩文件的参数指令。
-x:解开压缩文件的参数指令。
-v:压缩的过程中显示文件。
-f:使用档名,在 f 之后要立即接档名,不加参数。
-z:表示使用gzip的属性。
-j:采用 bzip2 压缩算法。
-t:查看压缩文档里面的文件。
-C:选项来指定路径。
tar -zxvf mongodb-linux-i686-3.2.13-rc0.gz -C /usr/local/mongoDB
unzip filename
复制 移动命令
cp -r directory directory
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
mv directory directory 可用于移动文件或者重命名
远程复制scp filename root@ip:粘贴的位置
显示文件系统的磁盘使用情况
df -h
-h 使用人类可读的格式,单位为M,G,默认不加显示的是字节
性能监控
vmstat
Linux vmstat命令详解 - 小a玖拾柒 - 博客园 (cnblogs.com)
uptime
[root@zhuweihai ~]# uptime 10:45:42 up 10:12, 3 users, load average: 0.00, 0.01, 0.05
#当前服务器时间:10:45:42
#当前服务器运行时长 up 10:12
#当前用户数 3 users
#当前的负载均衡 load average: 0.00, 0.01, 0.05,分别取1min,5min,15min的均值
free
top
常用命令
查看文件
-
cat -n filename
-n 或 --number:由1开始对所有输出的行数编号。
-
tail -f filename
会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容
-
tail -n +20 notes.log
显示文件 notes.log 的内容,从第 20 行至文件末尾
-
tail -n 20 notes.log
显示文件 notes.log 最后20行的内容
结束进程
kill -9 pid
服务查看启动
service ssh status
service ssh start
查看端口
netstat -na | grep port
- -a或--all 显示所有连线中的Socket。
- -n或--numeric 直接使用IP地址,而不通过域名服务器。
- -p或--programs 显示正在使用Socket的程序识别码和程序名称。
lsof -i:port
查看进程
ps -ef | grep info
- -e:等于“-A” 显示所有进程
- -f :做一个更为完整的输出。
设置启动级别
chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]
[root@zhuweihai mysql-5.7.35-el7-x86_64]# chkconfig --list
Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.
If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.
jexec 0:off 1:on 2:on 3:on 4:on 5:on 6:off
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
redis_6379 0:off 1:off 2:off 3:off 4:off 5:off 6:off
redis_6380 0:off 1:off 2:off 3:off 4:off 5:off 6:off
redis_6381 0:off 1:off 2:off 3:off 4:off 5:off 6:off
修改网络信息
vi /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network.service
修改主机名
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=
防火墙
# centos7
# 查看防火墙状态
firewall-cmd --state
# 停止firewall
systemctl stop firewalld.service
# 禁止firewall开机启动
systemctl disable firewalld.service
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
开放关闭端口linux系统防火墙开放端口
配置环境变量
# 修改文件
vim /etc/profile
# 刷新环境变量
source /etc/profile
栗子:配置Java环境变量
export JAVA_HOME=/opt/jdk1.8.0_333
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
常识
/proc/进程号/fd 目录下该进程所有的文件描述符。
查看linux版本号
cat /proc/version