拼多多HR:说说当你对Linux多少理解,说出50个Linux的命令!!! 这么简单?

tech2024-08-08  52

常用操作

查看命令手册:man tar使用配置文件:source ~/.bash_profile查看端口是否被占用:netstat -anp | grep 端口号查看后端进程资源占用信息快照: ps -ef | grep mysql 或者 ps aux | more实时显示进程资源占用信息 top -c uptime 和top命令输出的第一行内容一样 6.监控系统内存: free 7.杀死进程 kill pid查看当前登录系统账号 who查看当前操作系统的账号 whoami查看指定命令的路径:which pwd定位指令的二进制程序、源码文件和man手册页等相关文件的路径: whereis tomcat查看当前shell进程的作业:jobs查看当前shell进程的环境变量:env查看网卡信息: ifconfig检查网络上的主机是否在工作: ping ip查看域名和ip的对应关系:nslookup ip 或者nslookup在指定的目录下根据文件名查找:find . -name ‘*.c’进入当前用户主目录:cd ~查看当前文件夹下的文件: ls查看当前文件夹下的文件详细信息: ls -lh查看隐藏文件:ls -la查看当前所在路径:pwd查看目录树:tree ~创建目录:mkdir yxx创建目录及子目录: mkdir -p yxx/xx删除空目录: rmdir yxx删除包含子目录的空目录: rmdir -p xxxx/xx删除文件,删除后不可再恢复:rm xxxx删除文件夹,没有提示信息:rm -rf xxxx拷贝目标文件到当前目录下,并给提示信息:cp -i ~/doc/yxx.txt .拷贝目录: cp -r ~/doc/yxx .创建文件:touch a/yxxx更改文件名并给提示信息:mv -i xx ss移动文件或者目录到当前位置 mv sd/ .修改文件读写权限: chmod 666 yxx改变某个文件或目录的所有者和所属的组:chown变更文件或目录的所属群组:chgrp查看文件内容:cat jmeter.log分屏读取文件内容 cat jmeter.log | more显示文件前5行内容,默认显示10行:head -5 jmeter.log显示文件后5行内容,默认显示10行:tail -5 jmeter.log动态查看文件内容:tail -f jmeter.log查看目录大小:du yxxx统计文件字数:wc jmeter.log显示文件系统的磁盘使用情况统计:df压缩指定目录下的文件到FileName.tar.gz:tar zcvf FileName.tar.gz DirName压缩指定目录下的文件到FileName.tar.tgz tar zcvf FileName.tar.tgz FileName解压缩:tar zxvf FileName.tar.gz解压缩:tar zxvf FileName.tar.tgz新建用户:useradd –d /home/sam -m sam删除用户并删除用户主目录:userdel -r sam修改用户:usermod 选项 用户名新建用户组:groupadd group1删除用户组:groupadd group1修改用户组:groupmod 选项 用户组切换用户:su yxx清屏:clear显示系统时间:date立刻关机:shutdown now立刻重新开机:shutdown -r now编辑文件:vim s.t i 进入输入模式 ESC:退出输入模式 :切换到底线命令模式,以在最底一行输入命令。 q 退出程序 w 保存文件 q!强制退出,不保存文件

60.> file 清空文件内容

查阅命令帮助信息

1、command --help 显示command命令的帮助信息 2、man command 显示命令的详细使用手册 man 是manual 手册的缩写。 3、使用man 的操作键 空格键:显示手册页的下一屏 f: 后滚一屏,同空格键效果相同 b: 前滚一屏 q:退出 enter键:一次滚动手册页的一行

补全命令功能

按tab键

查看历史输入命令

按上下键 退出使用ctrl+c

关机/重启

1、shutdown now 现在立刻关机 2、shutdown 23:00 今天23:00关机 3、shutdown +10 系统再过10分钟关机 4、shutdown -c 取消关机计划 5、shutdown -r now 现在重启系统

设置环境变量

方法1:shell终端使用export命令,输入 “export PATH=“PATH:/opt/au1200rm/buildtools/bin”。该环境变量只在当前shell中有效。方法2:修改profile文件,输入vi/etc/profile,回车。该环境变量对所有用户都有效。再输入“exportPATH="PATH:/opt/au1200_rm/build_tools/bin”。 该环境变量只在当前shell中有效。方法2:修改profile文件,输入vi/etc/profile,回车。该环境变量对所有用户都有效。再输入“export PATH="PATH:/opt/au1200r​m/buildt​ools/bin”。该环境变量只在当前shell中有效。方法2:修改profile文件,输入vi/etc/profile,回车。该环境变量对所有用户都有效。再输入“exportPATH="PATH:/opt/au1200_rm/build_tools/bin”。 方法3:修改当前用户目录下的.bashrc文件,输入vi/root/.bashrc,回车。 再输入“export PATH=”$PATH:/opt/au1200_rm/build_tools/bin”。 只对当前用户有效。

linux系统文件结构

/usr:存放应用程序,类似于windows系统的program files目录 /var:存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。 /etc: 存放所有的系统管理所需要的配置文件和子目录。 /opt:存放第三方应用程序、数据库等 /bin:存放经常使用的命令 /sbin:存放系统管理员使用的系统管理程序。 /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 /boot:存放linux启动需要的重要文件 /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。 /dev:存放设备文件 /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 /mnt: 用户临时挂载其它的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。 /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里 /sys:类似proc,虚拟的文件系统。 /srv:该目录存放一些服务启动之后需要提取的数据。 /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。 /selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

进程管理

ps

1、说明:ps 是process status的缩写。用来监控后台进程的工作情况,是当前进程的快照。 2、返回信息: USER 用户名 UID 用户ID(User ID) PID 进程ID(Process ID) PPID 父进程的进程ID(Parent Process id) SID 会话ID(Session id) %CPU 进程的cpu占用率 %MEM 进程的内存占用率 VSZ 进程所使用的虚存的大小(Virtual Size) RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。 TTY 与进程关联的终端(tty) START 进程启动时间和日期 TIME 进程使用的总cpu时间 COMMAND 正在执行的命令行命令 NI 优先级(Nice) PRI 进程优先级编号(Priority) WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。 FLAGS 与进程相关的数字标识 STAT 进程的状态 3、进程状态码: R 运行 Runnable (on run queue) 正在运行或在运行队列中等待。 S 睡眠 Sleeping 休眠中, 受阻, 在等待某个条件的形成或接受到信号。 I 空闲 Idle Z 僵死 Zombie(a defunct process) 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调 用后释放。 D 不可中断 Uninterruptible sleep (ususally IO) 收到信号不唤醒和不可运行, 进程必须等待直到有中 断发生。 T 停止 Terminate 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。 P 等待交换页 W 无驻留页 has no resident pages 没有足够的记忆体分页可分配。 X 死掉的进程 < 高优先级进程 高优先序的进程 N 低优先 级进程 低优先序的进程 L 内存锁页 Lock 有记忆体分页分配并缩在记忆体内 s 进程的领导者(在它之下有子进程); l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)

位于后台的进程组 4、命令常用法: 查看后台进程信息:ps -ef | grep mysql 或者 ps aux | more,两个命令差别不大 a:显示终端上所有用户的进程,包括其他用户的进程 u:显示进程详细信息 x:显示不是用户启动的进程

5、ps命令默认只显示当前用户通过终端启动的应用程序。

top

1、top命令是linux下常用的性能分析工具,能显示系统中各个进程的资源占有情况,类似win的任务管理器 2、top 可动态显示进程详细信息,且默认按照cpu使用率和内存占用率排序。 常用top -c 参考:https://www.cnblogs.com/ftl1012/p/top.html CPU(s): 显示的是当前cpu平均值,若想看每个物理CPU的使用情况,可按下键盘1 %id是统计空闲CPU利用率的,CPU的总使用率用1-%id获得 如果wa使用率过高(等待输入输出的CPU百分比)需要考虑IO是否有性能瓶颈,可用iostat、sar等命令进行分析 swap:交换分区,类似于虚拟内存,就是当内存不足时,把一部分硬件空间虚拟成内存来使用,从而解决内存容量不足的情况。当swap的user项值在不断变化时,说明内核在不断的进行内存和swap的数据交换,这是真正的内存不够用了 mem 中used是指内系统内核控制的内存数,free是内核还未纳入其管控范围的数量。 used的内存不见的都在使用,还包括过去使用过的现在可以被重复利用的内存,内核并不会把这些可被重复使用的内存交还到free中,所以linux上free内存会越来越少,不必担心 进程实际使用的内存查看RES那列的信息 TIME+ 表示的是进程使用CPU时间的总计,不是进程存活时间,单位是1/100秒

env

env : 查看当前进程环境变量

jobs

jobs :查看当前shell下运行的作业

网络管理

域名

是ip地址的别名

端口

1、区分一台计算机上的应用程序 2、不同应用默认端口号 web服务器 8080 https 443 ssh 22 ftp 21

netstat

1、是一个监控TCP/IP网络的常用工具,显示网络连接状态、网络端口、路由表信息。 2、返回信息: Proto 协议种类 Recv-Q 不是由程序连接产生的字节bytes数 Send-Q 从远程传来的字节bytes数 Local Address 本地IP/主机名 Foreign Address 远程IP/端口 State 显示状态列 3、状态 ESTABLISHED 已建立的连接 LISTEN 监听端口 SYN_SENT 接收到要求主动连接请求 TIME_WAIT 连接中断socket还在网络等待结束 FIN_WAIT1 socket已结束,连接正在中断 FIN_WAIT2 连接已中断,等待对方主机相应中断请求 4、netstat -anp | grep 端口号 检查端口是否被占用,看到tcp,端口号,LISTEN表示端口被占用了 5、netstat -nultp 显示所有已经被占用的端口

nmap

1、nmap默认总是会扫描端口,要扫描本机端口,很方便。 nmap localhost

ifconfig

1、ifconfig : 查看网卡信息,包括Ip等 2、ifconfig | grep inet 可以只看ip 3、127.0.0.1是本机地址,可用于检查本机网卡是否能正常工作

ping

1、ping ip: 检查网络上的主机是否在工作 2、ping 127.0.0.1 检查本机网卡是否正常

nslookup

nslookup ip 或者nslookup 域名 : 查看域名和ip的对应关系

磁盘

df

1、df是 disk free的缩写,显示磁盘占用情况。 2、df -h 人性化显示磁盘剩余空间,主要关注根目录的剩余空间

du

1、du 是 disk usage的缩写, 可查看目录下文件大小 2、使用 du -h ./yxx 查看yxx目录下文件的大小

目录和文件

linux下文件和目录的特点: 1、linux文件和目录的名称最长可以是256个字符 2、以.开头的是隐藏文件,常用于存储环境变量 3、.代表当前目录 4、…代表上一级目录

ls

1、说明:ls是list的简写 2、ls:查看当前目录下的文件 3、ls -l :查看当前目录下的文件详细信息,包括读写权限、用户权限、时间、文件大小 4、ls -lh : -lh可以看到文件大小的单位 -l没有文件大小的单位 5、ls -a :可以查看所有文件,包括隐藏文件 6、ls与通配符的使用 ls *.txt : * 匹配任意个字符 ls 1?1.txt : ? 匹配一个字符,必须匹配1个 ls [a-s].txt: [a-s]匹配[]中的任意一个字符。

tree

1、tree : 以树状图列出文件目录结构 2、tree -d :只显示目录 3、tree ~ :显示当前用户主目录的目录结构

cd

1、说明:cd 是change directory的缩写 2、cd 或者 cd ~ 表示切换到当前用户主目录 3、cd . 保持当前目录不变 4、cd … 切换到上一级目录 5、cd - 在最近两次目录之间随机切换

pwd

pwd:查看当前所在路径

touch

touch a/b/c.txt : 文件不存在时创建文件;文件存在时修改文件的时间属性

mkdir

mkdir yxx: 创建目录 mkdir -p yxx/xx: 创建目录及子目录

rmdir

rmdir yxx:删除空目录 rmdir -p yxx/xx:删除子目录,子目录为空

rm

1、说明:rm删除文件后不可再恢复,删除文件不会放到回收站里 2、rm yxx:删除文件 3、不能直接使用rm 删除目录, 需使用-r选项 4、rm -r 会递归删除文件目录 5、-f 会强制删除文件。如果有就删除文件;如果没有也不给任何提示信息。

cp

1、说明:cp是copy的缩写 2、cp 源文件 目标文件 : 拷贝文件 cp ~/doc/a.txt b.txt 拷贝a.txt到当前目录下,并重新命名为b.txt 3、如果不改变拷贝文件的名字,只需要指定目标路径就ok cp ~/doc/a.txt . 拷贝a.txt 到当前目录下,文件名为a.txt 4、不能直接使用cp 拷贝目录, 需使用-r选项 5、如果源文件是目录 , 使用 -r 可以递归拷贝源目录下的目录和文件。 6、如果目标文件已存在,拷贝源文件到目标文件中,打开页面会提示”文件已修改,是否重新载入“。 加-i 选项命令行会给出提示信息。 cp -i ~/doc/a.txt .

mv

1、mv aaa.txt bbb.txt:更改aaa.txt文件名为bbb.txt 2、如果目标文件已经存在,直接使用mv aaa.txt bbb.txt 会覆盖bbb.txt原先的内容,很不安全,此时可以使用-i选项 3、mv 原目录 目标目录 :将原目录移动到目标路径下 4、mv /usr/student/* . 将student目录下的文件移动到当前路径下

cat

1、cat jmeter.log : 查看文件内容,一次性显示文件所有内容 2、cat -b a.log : 显示行编号,空行不显示 3、cat -n a.log : 显示行编号,空行也显示

more

1、more和cat一样,可以显示文件内容,但是是分屏显示的。 2、同man命令类似,使用的操作键 空格键:显示手册页的下一屏 f: 后滚一屏,同空格键效果相同 b: 前滚一屏, q:退出 enter键:一次滚动手册页的一行

grep

1、grep是一个强大的文本搜索工具,类似于在word文档中用control+f搜索某个文字。 2、grep 1-10 jmeter.log 查找jmeter.log文件中包含‘1-10’的行 还可以这样写 cat jmeter.log | grep 1-10 3、-n 可以显示匹配的行号 4、-v 显示匹配行之外的行 5、-i 忽视大小写 6、grep 允许对文件进行模式查找,如以a开始的 ^a

echo

1、打印信息,常结合重定向命令使用

重定向 > 或者>>

1、命令执行结果重定向到一个文件中 ,echo China > a.txt 。单个> 会覆盖原来的文件内容 2、>> 会追加内容

管道命令 |

1、一个命令的输出 作为另一个命令的输入,所以使用管道至少需要使用两个命令。 2、常用的在|后的命令 是more和grep 。more可分屏显示内容;grep可查询指定的文本

less

less [OPTION] FILE… 查看文本文件的内容,屏幕显示完一屏就等待用户按键,用户可以向上或向下查看,如 果中途不想继续看下去了,可以按Ctrl+C或q终止显示。

head

head -5 jmeter.log : 显示文件前5行内容

tail

1、实时查看文件内容 2、tail -200f a.txt 动态查看后200行内容

sed

查看文件中间一段,你可以使用sed命令,如: sed -n ‘5,10p’ /etc/passwd ,这样就可以只查看文件的第5行到第10行

diff

diff 1.txt 2.txt: 逐行对比两个文件内容的不同

文件属性和用户组

who

who 显示当前登录用户、登录时间、登录设备 who -uH 查看当前登录用户、登录时间、登录设备、线路、进程号

whoami

查看当前登录用户

id

查看当前登录用户的详细信息,包括 uid 和 gid 及所属分组及用户名等

which

which cd : 查看指定命令的路径

远程管理

ssh

1、通过ssh客户端可以连接到运行了ssh服务器的远程机器上 2、ssh客户端是使用了ssh协议连接到远程计算机的软件程序 3、特点:加密和压缩 4、加密:利用ssh协议可以防止远程管理过程中的信息泄露 通过ssh可以对所有传输数据进行加密,也能够防止dns及ip欺骗 5、压缩:ssh可以对传输的数据进行压缩,加快传输速度 4、ssh [-p port] user@remote_ip port 是ssh 监听的端口号,默认是22 remote_ip是远程机器地址,可以是ip\域名\别名 user 是远程机器上的用户名,如果不指定则默认为当前用户 5、ssh 命令可以直接在mac linux上直接使用,在windows上需安装putty 或xshell客户端软件。

scp

1、scp是远程拷贝文件命令。scp只能在linux或者mac下使用。 2、scp -P 22 01.py user@remote_ip:Desktop/01.py 把本地当前目录下的01.py拷贝到远程Desktop目录下 3、scp -P 22 user@remote_ip:Desktop/01.py 01.py 把远程Desktop目录下的01.py拷贝到本地当前目录下 4、使用-r 选项可以拷贝文件夹 5、在windows中可以使用putty工具的pscp命令来拷贝文件。或者安装FileZilla 使用FTP进行文件传输。 FileZilla在传输文件时使用的是ftp协议,不是ssh协议

终端是哪个文件夹下的哪个文件

终端 /dev/tty

黑洞文件是哪个文件夹下的哪个命令

黑洞文件 /dev/null

日期

1、date : 查看当前系统的时间 2、cal查看当前日历 3、cal -y 查看一年的日历

最后

俺叫小枫,一个成天想着一夜暴富的测试员

(1140267353)一起成长一起加油的伙伴群!软件测试,与你同行! 群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

点赞关注不迷路!!!【三连ღ】,有问题也可私聊哟~(*╹▽╹*)

最新回复(0)