测试常见八股之Linux命令

最近电脑要寄送,后面编辑不了Markdown文档,所以先把之前面试的一些八股文知识点整理出来分享给大家,里面可能会有一些纰漏或者错误,欢迎大家指正或批评~

Linux 命令作为测试岗位中的一项基础技能,同时也是提升效率和排查问题的核心工具。无论是服务器日志的快速定位、自动化脚本的编写,还是环境部署与权限配置,熟练掌握 Linux 命令都能让测试人员更高效地与系统打交道,缩短定位问题的时间,提升工作质量与交付速度。下面则是之前校招时整理大的Linux常用操作命令知识点:

1、linux常用命令

 Linux命令组成: 
 ​ 命令     [选项]      [参数] 
 ​ command  [-options] [parameter]

常见命令:ls/pwd/cd/touch/mkdir/cp/mv/rm

cd (change directory) 切换文件夹
 cd /home 绝对路径,以根目录开头 
 cd admin  相对路径,不以根目录开头,以文件名开头 
 cd .. 返回上一级目录 
 cd ~回到自己家的的目录,/home/damiin cd -电视回看功能 
 
 . 表示当前目录 .. 表示当前目录的上一级目录。 
 ./表示当前目录下的某个文件或文件夹,视后面跟着的名字而定 
 ../表示当前目录上一级目录的文件或文件夹,视后面跟着的名字而定。
pwd (print working directory) 查看当前目录
ls (list directory contents) 查看目录的内容
 ls -l显示详细列表 
 ls -lh把文件大小以人性化的方式显示 
 ls -a显示所有的文件,包含隐藏文件,隐藏文件是以“.”开头的文件 
 ll 等于 ls -l ,ll-h 
 ls 查看其它文件夹下面的内容 
 ls - la/home 
 ls *txt 查看当前文件夹下以txt结尾的所有文件
mkdir (make directory) 创建文件夹(相对路径,当前目录下创建文件夹)
 mkdir /home/admin/(绝对路径) 
 mkdir /home/admin  如果上级目录不存在,加上-p 自动创建父目录、 
 mkdir a  b 在当前目录创建多个文件夹 
 mkdir a/{c,d}在指定目录下创建多个文件夹 
 mkdir .abc 以.开头  创建隐藏目录
touch 创建一个空文件
 touch abc.txt  在当前目录下创建  如果指定了目录,必须保证上级目录存在 
 touch .abc  创建隐藏文件 
 gedit abc.txt使用记事本打开文本
mv 移动或重命名文件或目录
 mv old_name new_name
 mv a .a   隐藏a目录
cp 复制: cp index.txt 位置名(若无指定位置的地址,则默认创建一个新文本到当前位置)
 cp index.txt  新文件  -a   :复制所有内容,属性,时间,保持文本原有属性 
 cp index.txt 新目录  -r  复制目录 
 cp index.txt   new.txt  -i 是否覆盖 
 cp index.txt  new inndex.txt  -f  默认覆盖  index.text  new index.txt  -v显示拷贝进度 
 
 mv 移动(重命名) 
 mv 1.txt 2.txt  重命名 
 mv 1.txt  目录/2.txt
rm 删除文件
 rm a.txt 删除文件 
 rm abv -r 删除目录 
 rm * 删除当前目录下的所有内容 ,不能删除隐藏文件  . 和   .. 删除不掉
cat:连接和显示连接和文件内容
 cat file_name 
重定向:命令>位置 将返回结果写入文件中
 >>覆盖 
 cat 将在文件中显示的内容返回到屏幕中(可显示多个),只具有查看功能 
 cat 1.txt 2.txt >3.txt 把多个文件的内容合并到新文件中 
 ls  >>1.txt 把命令的结果输出到文件中,追加的返回方式 
 
 管道“|” 使用此管道符“|”可以将两个命令分隔开,“|”左边命令的输出就会作为“|”右边命令的输入 
 ls -l / | more 把左边的命令返回结果交给右边命令进行处理
head 显示文件头部的内容
 查看/etc/profile 的前 10 行内容 
 head -n 10 /etc/profile
tail 显示文件尾部的内容
 tail file1   显示文件file1的尾部10行内容; 
 tail -n <行数> filename    显示文件尾部的n行内容; 例如:tail -n 5 file1    显示文件file1的末尾5行内容
echo 字符串的输出
 显示结果定向至文件 
 echo "It is a test" > myfile
ps (processs status) 查看进程
 ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。 
 ps -ax 显示查看当前所有运行的进程完整信息 
 ps -ef | grep xxx该命令用于查看进程xxx的相关信息。 
 
 基本参数: 
 -A :所有的进程均显示出来,与 -e 具有同样的效用; 
 -a :显示现行终端机下的所有进程,包括其他用户的进程; 
 -u :以用户为主的进程状态 ; 
 x :通常与 a 这个参数一起使用,可列出较完整信息。
netstat 查看服务及监听端口
 根据端口号,查询进程名称和进程ID 
 netstat -tunlp | grep 3306
 
 根据进程名称,查询进程ID和端口号 
 netstat -tunlp | grep mysqld 
 
 根据进程ID,查询进程名称和端口号 
 netstat -tunlp | grep 29520
chmod 文件权限修改:
 chmod [u/g/o/a] [+/-/=] [r/w/x] filename 
 
 [ ]里都代表的意思:  
 u表示User,是文件的所有者  
 g表示跟User同Group的用户  
 o表示Other,即其他用户  
 a表示ALL,所有用户 
 
 +表示增加权限  -表示取消权限  =表示取消之前的权限,并给予唯一的权限 
 r表示Read,即读文件  w表示Write,即写文件  x表示运行文件

ln -s 软链接:
 软链接本事不存储内容,只记录源文件名称 
 ln -s 1.txt  l_link  给1.txt创建一个软链接,相当于Windows中的快捷方式 
 ln -s 1.txt ~/1_link  给其他目录创建一个软链接,如果源文件不写绝对路径,软链接指向的文件是不存在的 
 
 ln -s /home/adime/1.txt ~/1_link 
 ln -s abc  abc_link  给目录创建软链接 只记录了源文件的名称
ln 硬链接:
 硬链接本身占空间,相当于把源文件复制一份,与源文件同步变化,不能给目录创建硬链接 使用ll查看时,有一个数字在,代表有几个文件能同步发生变化 
 ln 1.txt  1.hard_link
grep 查找文件内容(可使用正则表达式)
 grep hello text.txt 在某个文件中查找包含hello的内容,只要一行中有hello就会显示 
 grep -niv hello text.txt n显示查找到的内容的行号,i 查找时不区分大小写,v反向查找,查找不包含hello的行 
 grep -n hello /home/adime -r 查找整个目录中的所有文件,包含hello的内容
find 查找文件
 find /home -name 1.txt    在home目录下查找文件名为1.txt 的文件 
 find /home -name  '* txt' 在/home 目录下查找以txt 结尾的文件

grep 和 find的区别

  1. find基本上相当于 linux下的 “搜索” , 相当于windows下的搜索功能! 它是用来搜索文件的。
  2. grep是用来搜索文本的, 用来在standard input或文件内部的内容中, 来搜索文字内容的
  3. find 是完全匹配(通配符),而grep是包含匹配(正则表达式)
  4. 简单点说,grep 是查找匹配条件的行,find 是搜索匹配条件的文件。
tar 归档 打包
 打包     
 tar cvf a.tar 1.txt 2.txt f  必须放在最后,f后面的第一个参数代表要生成的文件名,后面所有参数是要打包的文件 -t列出包里面的文件     
 tar tf a.tar  
 
 解包    
 tar xvf a.tar 如果没写目录,把包里面的文件解开放到当前目录     
 tar xvf a.tar -C tar 解包到指定文件夹吧,文件夹需要提前准备好 
 
 压缩     
 1. 打包 tar cf a.tar   生成a.tar文件     
 2. 压缩 gzip -r a.tar  生成a.tar.gz文件 
 
 解压     
 1. 解压 gzip -d a.tar.gz        生成a.tar 文件     
 2. 解包 tar xf a.tar -C ~/atar  解压到指定文件夹 
 
 一步到位打包并且压缩 
 tar czf b.tar.gz  *txt  以gzip的格式打包并且压缩 
 一步到位解压并且解包 
 tar zxf b.tar.gz -C btar 以gzip 的方式解压并解包
zip 解压缩
 zip -r zz *txt  zz代表要生成的压缩文件,不需要扩展名,会自动生成zip扩展名 
 uuzip -d zz zz.zip 解压时会自动创建目录

压缩率:zip<gzip<bzip2

通用性:zip>gzip>bzip2

ifconfig/ip:查看和配置网络接口信息
 ifconfig 
 ip addr show
mount/umount:挂载和卸载文件系统
 mount /dev/sdX1 /mnt  # 挂载分区到指定目录 
 umount /mnt           # 卸载挂载的文件系统
psql/mysql:用于与PostgreSQL或MySQL数据库交互的命令行工具
 psql -U username -d database_name  # 连接到PostgreSQL数据库 
 mysql -u username -p               # 连接到MySQL数据库
history:查看命令历史记录
 history
sudo:以超级用户权限运行命令
 sudo command_to_run_as_superuser

2、vim :

 vi有三种基本工作模式 
 ​ 命令模式 文本输入模式 末行模式 
 
 ​ 进入插入模式: 
 i:插入光标前一个字符 
 I:插入行首 
 a:插入光标后一个字符 
 A:插入行末 
 o:向下新开一行,插入行首 
 O:向上新开一行,插入行首 
 
 ​ 进入命令模式 
 ESC:从插入模式或末行模式进入命令模式 
 h:左移 j:下移 k:上移 l:右移 
 M:光标移动到中间行 
 L:光标移动到屏幕最后一行 
 G:移动到指定行,行号-G 
 w:向后一次移动一个字 
 b:向前一次移动一个字 {:按段移动,上移 }:按段移,下移 
 Ctr -d:向下翻半屏 
 Ctr-u:向上翻半屏 
 Ctr-f:向下翻一屏 
 Ctr-b:向上翻一屏 
 gg:光标移动到文件开头 
 G:光标移动到文件末尾 
 
 ​ 删除命令: 
 x:删除光标后一个字符 
 X:删除光标前一个字符 
 dd:删除光标所在行,n  dd 删除指定的行数 dD:删除光标前本行所有内容,不包含光标所在字符 dw:删除光标开始位置的字,包括光标所在的字符 
 
 ​ 撤销指令: 
 u:一步一步撤销 
 Ctr-r:反撤销 
 
 ​ 重复命令: 
 .:重复上一次操作的命令 文本行移动:
 >>:文本行右移 
 <<:文本行左移 
 
 ​ 复制粘贴: 
 yy:复制当前行,n yy 复制 n 行 
 p:在光标所在位置向下新开辟一行,粘贴 
 
 ​ 可视模式: 
 v:按字符移动,选中文本 
 V:按行移动,选中文本可视模式可以配合d,y,>>,<<实现对文本的删除,复制,左右移动 
 
 ​ 替换操作: r:替换当前字符 R:替换当前行光标后的字符,直到按ESC 
 ​ 查找命令:  /:str查找 n:下一个 N:上一个

#牛客创作激励计划##校招过来人的经验分享#
全部评论
还有awk
点赞 回复 分享
发布于 06-20 22:24 北京

相关推荐

评论
5
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务