童话里说,每逢雨后都会有一道彩虹。哈喽,大家好,在我们的日常测试工作中,难免会接触或使用到Linux操作系统,下面我整理了一些测试工作中的Linux中常用到的命令,希望能给大家带来一定的帮助。
童话里说,每逢雨后都会有一道彩虹。哈喽,大家好,在我们的日常测试工作中,难免会接触或使用到Linux操作系统,下面我整理了一些测试工作中的Linux中常用到的命令,希望能给大家带来一定的帮助。
一、目录操作命令
目录切换:cd
命令:cd 目录
cd / 切换到根目录
cd /usr 切换到根目录下的usr目录
cd ../ 切换到上一级目录 或者 cd ..
cd ~ 切换到home目录
cd - 切换到上次访问的目录
目录查看:ls
命令:ls [-al]
ls 查看当前目录下的所有目录和文件
ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /dir 查看指定目录下的所有目录和文件 如:ls /usr
创建目录:mkdir
命令:mkdir 目录
mkdir aaa 在当前目录下创建一个名为aaa的目录
mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录
删除目录或文件:rm
命令:rm [-rf] 目录
删除文件:
rm 文件 删除当前目录下的文件
rm -f 文件 删除当前目录的的文件(不询问)
删除目录:
rm -r aaa 递归删除当前目录下的aaa目录
rm -rf aaa 递归删除当前目录下的aaa目录(不询问)
全部删除:
rm -rf * 将当前目录下的所有目录和文件全部删除
目录修改:mv、cp
1、重命名目录
命令:mv 当前目录 新目录
mv aaa bbb 将目录aaa改为bbb
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作
2、剪切目录
命令:mv 目录名称 目录的新位置
mv /usr/tmp/aaa /usr 将/usr/tmp目录下的aaa目录剪切到 /usr目录下面
注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作
3、拷贝目录
命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归
cp -r /usr/tmp/aaa /usr 将/usr/tmp目录下的aaa目录复制到 /usr目录下面
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归
搜索目录:find
命令:find 目录 参数 文件名称
find /usr/tmp -name 'a*' 查找/usr/tmp目录下的所有以a开头的目录或文件
find /usr/tmp -name 'a*' -type f 查找/usr/tmp目录下的所有以a开头的文件
find /usr/tmp -name 'a*' -type d 查找/usr/tmp目录下的所有以a开头的目录
二、文件操作命令
新建文件:touch
命令:touch 文件名
touch aa.txt 在当前目录创建一个名为aa.txt的文件
删除文件:rm
命令:rm -rf 文件名
rm -rf aa.txt 强制删除当前目录下的aa.txt文件
修改文件:vi或vim
vi编辑器的3种模式:
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
命令行模式下的常用命令:
【1】控制光标移动:↑,↓,j
【2】删除当前行:dd
【3】查找:/字符
【4】进入编辑模式:i o a
【5】进入底行模式::
编辑模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
编辑模式下常用命令:
【1】ESC 退出编辑模式到命令行模式;
底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
底行模式下常用命令:
【1】退出编辑: :q
【2】强制退出: :q!
【3】保存并退出: :wq
打开文件
命令:vi 文件名
vi aa.txt 或者 vim aa.txt 打开当前目录下的aa.txt文件
注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。
编辑文件
使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入
保存或者取消编辑
保存文件:
第一步:"ESC"进入命令行模式
第二步:":"进入底行模式
第三步:"wq"保存并退出编辑
取消编辑:
第一步:"ESC"进入命令行模式
第二步:":"进入底行模式
第三步:"q!"撤销本次修改并退出编辑
文件的查看
文件的查看命令:cat、more、less、tail
cat:看最后一屏
示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容
cat sudo.conf
more:百分比显示
示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
more sudo.conf
less:翻页查看
示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
less sudo.conf
tail:指定行数或者动态查看
示例:使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束
tail -10 sudo.conf
权限修改
rwx:r代表可读用数字4表示,w代表可写用数字2表示,x代表该文件是一个可执行文件用数字1表示,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。
示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限是-rw-------
第一位:-就代表是文件,d代表是文件夹
第一段(3位):代表拥有者的权限
第二段(3位):代表拥有者所在的组,组员的权限
第三段(最后3位):代表的是其他用户的权限
421 421 421
- rw- --- ---
修改文件或者目录权限使用chmod命令:
u:用户
g:组
o:其它用户
a:所有用户(默认)
+:增加权限
-:删除权限
=:重新分配权限
r:读
w:写
x:执行
chmod u+x file 给file的属主增加执行权限
chmod 751 file 给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
chmod u=rwx,g=rx,o=x file 上例的另一种形式
chmod =r file 为所有用户分配读权限
chmod 444 file 为所有用户分配读权限
chmod a-wx,a+r file 为所有用户分配读权限
chmod -R u+r directory 递归地给directory目录下所有文件和子目录的属主分配读的权限
chmod 4755 设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。
三、打包和压缩
Windows的压缩文件的扩展名 .zip、.rar
linux中的打包文件:aa.tar
linux中的压缩文件:bb.gz
linux中打包并压缩的文件:.tar.gz
Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。
命令:tar -zcvf 打包压缩后的文件名 要打包的文件
其中:
z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar
tar -zcvf ab.tar aa.txt bb.txt
或:
tar -zcvf ab.tar *
解压
命令:tar [-zxvf] 压缩文件
其中:x:代表解压
示例:将ab.tar解压到当前目录下
tar -zxvf ab.tar
将ab.tar解压到根目录/usr下
tar -xvf ab.tar -C /usr -C代表指定解压的位置
四、查找
grep
grep命令是一种强大的文本搜索工具
使用实例:
ps -ef | grep sshd 查找指定ssh服务进程
ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身
ps -ef | grep sshd -c 查找指定进程个数
find
find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。
find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
使用实例:
find . -name "*.log" -ls 在当前目录查找以.log结尾的文件,并显示详细信息。
find /root/ -perm 600 查找/root/目录下权限为600的文件
find . -type f -name "*.log" 查找当目录,以.log结尾的普通文件
find . -type d | sort 查找当前所有目录并排序
find . -size +100M 查找当前目录大于100M的文件
whereis
whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。
使用实例:
whereis ls 将和ls文件相关的文件都查找出来
which
which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
使用实例:
which pwd 查找pwd命令所在路径
which java 查找path中java的路径
五、su、sudo
su
su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。
su test 切换到test用户,但是路径还是/root目录
su - test 切换到test用户,路径变成了/home/test
su 切换到root用户,但是路径还是原来的路径
su - 切换到root用户,并且路径是/root
su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。
退出返回之前的用户:exit
sudo
sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。
进入sudo配置文件命令:
vi /etc/sudoer 或 visudo
案例:
允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。
hadoop ALL=(ALL) ALL
案例:
只允许hadoop用户以root身份执行ls 、cat命令,并且执行时候免输入密码。
配置文件中:
hadoop ALL=NOPASSWD: /bin/ls, /bin/cat
用法示例:
sudo vim aaa.txt
六、软件管理
RPM安装
用法: rpm [选项…]
-a:查询所有套件;
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合"-l"参数使用;
-d:只列出文本文件,本参数需配合"-l"参数使用;
-e<套件档>或--erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或--hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或--install<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-l"参数使用;
-U<套件档>或--upgrade<套件档>:升级指定的套件档;
-v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。
安装软件:
rpm -ivh xxx.rpm # 直接安装
rpm --force -ivh xxx.rpm # 忽略报错,强制安装
卸载软件:
rpm -e tree # 卸载软件
列出所有安装的软件包:
rpm -qa
获取某个软件包的文件全名:
rpm -q tree
获取rpm包中的文件安装的位置:
rpm -ql tree
Yum安装
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令
yum的命令形式一般是如下:yum [options] [command] [package …]
其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。[command]为所要进行的操作,[package …]是操作的对象。
安装yum包:
yum install PACKAGE_NAME
删除yum包:
yum remove PACKAGE_NAME
重新安装一个yum包:
yum reinstall PACKAGE_NAME
搜索yum包:
yum search PACKAGE_NAME
显示yum包的信息:
yum info PACKAGE_NAME
清除yum缓存:
yum clean all
更新安装的yum包:
yum update
更新具体的yum包:
yum update PACKAGE_NAME
显示yum历史:
yum history
显示已启用的yum存储库的列表:
yum repolist
Yum软件仓库的配置
进入到Yum仓库软件仓库的配置文件目录: /etc/yum.repos.d
cd /etc/yum.repos.d
使用Vim编辑器创建一个名为rhel.repo的配置文件(文件名可随意,但必须为.repo结尾)
vim rhel.repo
按a/i/o进入输入模式,输入内容如下:
[rhel]
name=rhel
baseurl=http://www.****.com/***** or file:///media/cdrom
enabled=1
gpgcheck=0
按esc退出至命令模式,输入:wq,保存并退出。
name=rhel:Yum仓库名称描述
baseurl=file:///media/cdrom:提供的方式FTP、HTTP、本地
enabled=1:设置此源是否可用;1可用,0禁用
gpgcheck=1:设置此源是否校检文件;1为,0不为
使用"yum install httpd"检查Yum仓库是否已经可用,输入命令,使用Yum软件仓库来安装Web服务
yum install httpd
出现 Complete! 配置正确
源码安装
下载并解压文件
如果下的压缩文件的后缀是
tar.gz 解压用 tar -xzvf xxx.tar.gz
tar.b2 解压用 tar -xjvf xxx.tar.b2
tar 解压用 tar -xvf xxx.tar
配置安装路径
在/usr/local/下创建放置将要安装的软件目录
mkdir /usr/local/newApp
cd 到源代码所在的文件夹,配置安装路径
/usr/local/newApp
./configure --prefix=/usr/local/newApp
(./configure --prefix=/usr/local/指定安装根目录 .–with指的是安装本文件所依赖的库文件。/configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,生成makefile文件)
编译源代码
make
如果是多核cpu可以用 make -j来加快编译速度
make -j
安装
make install
这个过程可能需要root权限
删除源代码以节省磁盘空间
rm -rf xxx.tar.gz
编译源代码和安装可以组合成
make&&make install
也可以把所有步骤用一组合命令来执行
./configure --prefix=/usr/local/newApp && make && make install
配置环境变量
针对所有用户
修改 /etc/profile 文件,如果计算机仅仅作为开发使用时推存使用这种方法,因为所有用户的shell都有权使用这个环境变量,可能会给系统带来安全性问题。这里是针对所有的用户的所有的shell
vi /etc/profile
在/etc/profile的最下面添加:
export PATH="$PATH:/NEW_PATH"
针对单一用户
修改.bashrc文件,这种方法更加安全,可以把使用这些环境变量的权限控制到用户级别,这里是针对某一特定的用户,如果需要给某个用户权限使用这些环境变量,只需要修改其个人用户主目录下的 .bashrc文件就可以了。
vi ~/.bashrc
在下面添加:
Export PATH="$PATH:/NEW_PATH"
七、系统资源
services命令
service可以控制系统服务(打开、关闭、重启)
用法:service 【服务名称】 start/restart/stop/status
service iptables status --查看iptables服务的状态
service iptables start --开启iptables服务
service iptables stop --停止iptables服务
service iptables restart --重启iptables服务
service network restart ---重启网络服务
service network stop ---关闭网络服务
chkconfig命令
开启/关闭服务开机自启动
chkconfig iptables off --关闭iptables服务的开机自启动
chkconfig iptables on --开启iptables服务的开机自启动
增加环境变量
PATH=$PATH:/usr/bin/python
时钟相关
hwclock --hctosys ---硬件时钟与系统时钟同步
hwclock --systohc ---系统时钟和硬件时钟同步
CPU相关
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c ---查看CPU信息(型号)
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l ---查看物理CPU个数
cat /proc/cpuinfo| grep "cpu cores"| uniq ---查看每个物理CPU对应的核数
cat /proc/cpuinfo| grep "processor"| wc -l ---查看逻辑CPU个数(虚拟机)
内存相关
cat /proc/meminfo | grep MemTotal ---查看内存容量(单位:KB)
硬盘相关
df -hT ---查看磁盘容量的使用情况
系统相关
lsb_release -a ---查看操作系统的信息
性能状况相关
top ---查看当前性能状况并实时刷新
Cpu(s)参数解释:
us,user:用户空间占用CPU的百分比;
sy,system: 内核空间占用CPU的百分比;
ni,niced:改变过优先级的进程占用CPU的百分比;
id,idle: 空闲CPU百分比;
wa,IO wait: IO等待占用CPU的百分比;
hi,Hardware IRQ:硬中断占用CPU的百分比;
si,Software Interrupts: 软中断占用CPU的百分比;
st,Steal Time:当hypervisor服务另一个虚拟处理器的时候,虚拟 CPU 等待实际 CPU 的时间的百分比;
Mem参数解释:
total:物理内存总容量(单位:KB);
used:使用中的内存总量(单位:KB);
free:空闲内存总量(单位:KB);
buffers:缓冲内存总量(单位:KB);
文章知识点与官方知识档案匹配,可进一步学习相关知识
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/xiangxi1204/article/details/138044422
来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。
Copyright©2013-2024 JSedu114 All Rights Reserved. 江苏教育信息综合发布查询平台保留所有权利
苏公网安备32010402000125 苏ICP备14051488号-3技术支持:南京博盛蓝睿网络科技有限公司
南京思必达教育科技有限公司版权所有 百度统计