扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
学习软件测试,最基本的linux命令必须掌握,现为大家整理如下:
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的和政网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
一:系统管理相关命令
ls:可以看到整个目录
1.su:在不退出登陆的情况下,切换到另一个用户的身份
如:su root
切换到root这个用户,将提示输入密码,输完密码后即可登陆
# 超级用户提示符
$ 普通用户提示符
whoami:确认自己身份
history:查看运行命令的 历史
ifconfig:显示或设置网络设备的命令,我们可以用这个命令查看自己虚拟机的IP地址
ping:ping是Windows.Unix,Linux系统下的一个命令.ping命令也属于一个通信协议,是TCP/I协议的一部分。利用“ping"命令可以检查网络是否联通
停下来是:Ctrl+C(4)
kill:杀死进程(kill-9 进程号 强制杀死进程)
目录操作命令
linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录”/“,下层是各种各样的子目录和文件。
/:unix 文件系统的上层根目录
root:存放root用户的相关文件
home:存放普通用户的相关文件
bin:存放常用命令的目录,如vi,su,普通用户就可以提取的命令
sbin:要具有”一定权限才可以使用命令“
etc:存放配置的相关文件
vir:存放经常变化的文件。如:网络连接的sock文件
boot:启动目录,存放引导系统启动的相关文件
usr:安装一个软件的默认目录,相当于Windows下的program files
dev:设备文件保存目录
lb :系统库保存文件
pwd命令:显示当前路径
cd命令:切换目录
用法:cd目录路径
cd./切换到上级目录
cd/切换到根目录
cd~(或只有cd) 切换到用户主目录(home底下以用户名命名的文件夹)
/root目录
cd /opt ---cd bin 与cd /opt---cd /bin的区别
mkdir创建目录
mkdir 目录名
rmdir删除空目录
用法:rmdir 目录名
也可用:rm-rf 目录名
touch a.txt创建一个a.txt文件
二:文件操作命令
在Linux系统中,几乎所有内容包括文档,命令,设备和目录等都组织成文件的形式,用文件来管理,常用文件命令有:
|| 查看文件目录,以及它们对应的属性信息
cp 复制命令
用法:cp[选项] 文件名或目录 目标地址
-R 拷贝目录及目录下所有目录和文件
cp a.txt b.txt 将a文件复制,且另命名为b文件(目录名)
mv 移动命令
用法:mv文件名或目录 目标位置
mv a.txt../ 将a文件移动到上级目录(将一个文件移动到另一个目录没有重命名)
mv a.txt ../b.txt 将a文件移动到上一级并改名为b文件(将一个文件移动到另一个目录并重命名)
移动目录的时候,如果出现覆盖的情况,且被覆盖的目录非空,需要加一个'-b'的参数才能移动成功。被覆盖的目录此时会生产一个备份。
rm 删除文件或目录(i:操作时进行询问)
-f 强制删除
-r 删除目录
常用:rm -f文件或目录
find命令 查找文件
用法:find[路径][选项]
常用选项有:
find . -name a.txt 在当前目录查找文件a.txt
find / -name a.txt 从当前目录查找a.txt文件
grep命令
功能:在指定文件中查找字符(串)并打印该行;过滤,经常跟管道符号一起出现
用法:grep 字符串 文件名
grep xyz file 在file文件中寻找band字符串所在的那一行
文件编辑命令
vi:是linux下常用的文本编辑器
调用方法:vi a.txt(如果a.txt不存在,则创建,保存退出则创建成功)
按键盘i进入编辑状态(注意:都是英文输入法下进行输入)
退出编辑按ESC键,退出方法
不保存退出: :q!
保存退出: :wq
输入/,进入搜索,输入你需要搜索的文字,按Enter
按键盘G,可以直接定位到最末行
按键盘g,可以直接定位到首
cat命令:显示文本文件内容
用法: cat文件名 cat 文件名字
head:查看前几行 用法:head -n 5 文件名
tail:从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便的查阅正在改变的日志文件
tail -n 5文件名 查看后几行
tail -f error.log 不断刷新,看到最新内容
系统资源查询命令
ps 查看进程(动态)
-ef 显示所有运行进程,并显示启动进程的命令
Uid:用户ID,PID;进程id PPID:父进程,C:进程cpu占用率,Stime:进程从启动到现在所运行的时间
TTY:终端号。CMD:命令名称和参数
netstat 查看网络状况
netstat -apn 查看所有端口
管道命令
管道使用”|“符号,并且在命令之间建立管道,将前面命令的输出作为后面命令的输入
如:ls|greap abc:管卡道前面的命令显示当前目录下的文件,后面从列出的文件名中寻找含有abc字符串的文件或者目录
正常情况下,杀死服务进程(比如杀死tomcat进程)
通过进程名找到进程,在杀死进程
通过命令查找tomcat进程:ps -ef|grep tomcat(ps -ef是查找所有运行的进程,通过管道符找到所有进程中包含了”tomcat"字符串的进程,即为tomcat进程),假如5541
杀掉此进程,kill -9进程id(kill -9 5541)
通过端口来找到进程,再杀死进程
通过命令查找到占用此端口的进程编号:netstat -apn|grep 8080 根据8080查进程,假如 5541
杀掉进程:kill -9 pid(kill -9 5541)
三:权限赋予命令:chmod
linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在linux中可以使用||或ls -|命令来显示一个文件的属性以及文件所属的用户和组。
chmod语法:chmod[-R] xyz文件或目录
读(r): 4 写(w): 2 执行(x): 1
chmod 532 test.txt
压缩,解压命令
例如:将test文件压缩成test.tar.gz
安装软件命令
yum 自动下载安装(前提:能访问外网)
yum[操作][package]
例如:yum install mysql-server(安装mysql服务器)
rpm 安装
rpm -ivh 软件包名(ivh 安装显示安装进度)
一、操作系统中的用户管理 相关配置文件解读
Linux用户在操作系统可以进行日常管理和维护,涉及到的相关配置文件如下:
/etc/passwd 保存操作系统中的所有用户信息
root : x : 0 : 0 : root : /root : /bin/bash
name:password:UID:GID:GECOS:directory:shell
用户名 :密码占位符 :uid :基本组的gid :用户信息记录字段:用户的家目录:用户登录系统后使用的命令解析器
————————————————
字段1:用户名
字段2:密码占位符
字段3:用户的UID 0 表示超级用户 , 500-60000 普通用户 , 1-499 程序用户
字段4:基本组的GID 先有组才有用户
字段5:用户信息记录字段
字段6:用户的家目录
字段7:用户登录系统后使用的命令解释器
————————————————
UID:0表示超级用户, 程序用户 (1-499),普通用户 (500以上60000以下),根据uid将用户分为以上三类用户。
/etc/shdaow 保存用户密码(以加密形式保存)
[root@xing /]# cat /etc/shadow
root : $6$Jw5XsDvvNBH5Xoq. : 19180 : 0 : 99999 : 7 : : :
用户名:密码(加密后的字符串):最近一次的修改时间【距离1970年1月1日的距离】:密码的最短有效期:密码的最长有效期:密码过期前7天警告:密码的不活跃期:用户的失效时间: 保留字段
————————————————
字段1:用户名
*字段2:用户的密码加密后的字符串(sha)
字段3:距离1970/1/1密码最近一次修改的时间
字段4:密码的最短有效期
*字段5:密码的最长有效期(建议时间 90)
字段6:密码过期前7天警告
字段7:密码的不活跃期
字段8:用户的失效时间
字段9:保留字段
这个字段目前没有使用,等待新功能的加入。
————————————————
/etc/group 保存组信息
————————————————
root:x:0:
bin:x:1:bin,daemon
组名:组的密码占位符:gid:附加组成员
————————————————
/etc/login.defs 用户属性限制,密码过期时间,密码最大长度等限制
/etc/default/useradd 显示或更改默认的useradd配置文件
二、文件及目录权限
文件与权限: 即文件或者目录属于哪个用户,属于哪个组,不同的用户能对该文件进行何种操作。
————————————————
注:
查看文件权限: ls -l 文件
查看目录权限 : ls -ld 目录
————————————————
[root@xing Desktop]# ls -l /root/Desktop/
total 70584
lrwxrwxrwx. 1 root root 18 Jul 14 14:32 123.txt - /root/Desktop/ming
-rw-r--r--. (文件属性) 1 (链接个数: 表示指向它的链接文件的个数 ) root (所属者) root (所属组) 0(文件大小:单位byte) Jul 14 14:14(最后一次修改时间) 2.txt(文件名)
drwx------.(文件属性) 7 (目录中的子目录数: 此处看到的值要减2才等于该目录下的子目录的实际个数。 ) root (所属者) root (所属组) 4096 (文件大小:单位byte)Jul 13 16:56(最后一次修改时间) vmware-tools-distrib(目录名)
[root@xing Desktop]# ls -ld /root/Desktop/
drwxr-xr-x. 3 root root 4096 Jul 14 14:44 /root/Desktop/
————————————————
文件属性解释:
- rw- r-- r-- .
d rwx r-x r-x .
字段1:文件类型 【- 普通文件 d目录 l符号链接 b块设备】
字段2:文件所有者对该文件的权限
字段3:文件所属组的权限
字段4:其他用户的权限(既不是文件所有者也不是文件所属组的用户)
字段5:表示文件受 selinux 的程序管理
8进制赋权法: r 【100】4; w【010】2; x【001】1
————————————————
三、用户以及权限管理命令汇总:
————————————————
用户增删改命令
useradd
userdel
usermod
————————————————
用户组增删改命令
groupadd
groupdel
groupmod
————————————————
passwd
change
————————————————
文件权限修改: chmod命令
chmod 对象 算数运算符 权限 文件
[root@xing tmp]# ls -ld ming
drwxr-xr-x. 2 root root 4096 Jul 16 10:27 ming
[root@xing tmp]# chmod o-x ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 root root 4096 Jul 16 10:27 ming
————————————————
文件所属者修改:
chown 用户 文件
[root@xing tmp]# chown ming ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 ming root 4096 Jul 16 10:27 ming
————————————————
文件所属组修改:
chgrp 组 文件
[root@xing tmp]# chgrp ming ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 ming ming 4096 Jul 16 10:27 ming
————————————————
8进制赋权法
[root@xing ~]# chmod 644 /tmp/ming
[root@xing ~]# ls -ld /tmp/ming
drw-r--r--. 2 ming ming 4096 Jul 16 10:27 /tmp/ming
————————————————
linux下命令“ll”是“ls -l"的别名。
————————————————
粘滞位:赋权后的文件 只有建立者可以删除
chmod o+t 文件
[root@xing ~]# chmod o+t /tmp/ming
[root@xing ~]# ll -d /tmp/ming
drw-r--r-T . 2 ming ming 4096 Jul 16 10:27 /tmp/ming
————————————————
sgid : 赋权后的目录,新建立的文件或者子目录的所属组继承父目录的所属组
chmod g+s 目录
[root@xing ming]# chmod g+s /tmp/ming
[root@xing tmp]# ll
drw-r-Sr-T. 2 ming ming 4096 Jul 16 11:29 ming
[root@xing ming]# touch 20.txt
[root@xing ming]# ll
-rw-r--r--. 1 root ming 0 Jul 16 11:33 20.txt
[root@xing ming]# mkdir 60
[root@xing ming]# ll
drwxr-sr-x. 2 root ming 4096 Jul 16 11:34 60
————————————————
suid :允许谁运行该文件具有该文件所属者的权限
chmod u+s 文件
[root@xing Desktop]# ll /usr/bin/vim
-rwxr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
[root@xing Desktop]# chmod u+s /usr/bin/vim
[root@xing Desktop]# ll /usr/bin/vim
-rwsr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
备注:linux 红底白字代表警告!
————————————————
[root@xing Desktop]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
suid:4 sgid:2 粘滞位:1
[root@xing Desktop]# find /usr/bin -perm 4 755
/usr/bin/at
/usr/bin/chage
/usr/bin/pkexec
/usr/bin/Xorg
/usr/bin/crontab
/usr/bin/newgrp
/usr/bin/vim
/usr/bin/gpasswd
/usr/bin/passwd
/usr/bin/ksu
————————————————
1、不再允许添加新用户的请求
chattr命令 :用于改变文件属性
chattr +i 文件
lsttr命令 :查看文件属性
lsattr 文件
[root@xing Desktop]# lsattr /etc/passwd /etc/shadow
-------------e- /etc/passwd
-------------e- /etc/shadow
[root@xing Desktop]# chattr +i /etc/passwd /etc/shadow
[root@xing Desktop]# lsattr /etc/passwd /etc/shadow
----i--------e- /etc/passwd
----i--------e- /etc/shadow
[root@xing Desktop]# useradd kk
useradd: cannot open /etc/passwd
2、umask
root用户的umask默认值是0022,一般用户默认是0002
目录的最高权限 0777-0022=0755
文件的最高权限 0666-0022=644
一般服务器配置umask的值配置为027最好;需要去修改两处文件中的umask值。
/etc/profile
/etc/bashrc
3、修改默认的密码最长有效期:修改以下配置文件
/etc/login.defs
对于一条权限赋值命令:sudo chmod -R 764 ×××;我们必须了解其含义:
(1)各字段含义:sudo chmod -R(更改文件夹及其子文件夹)
7(所有者权限)6(组用户权限)4(其他用户权限)xxx(目标文件)
(2)首先了解以下权限对应关系(执行权限字母表示 权限含义 执行权限数值表示):
r 读取权 4;
w 写入权 2;
x 执行权 1;
rwx(读、写、执行)
rw-(读、写)
.......
(3)7、6、4的由来
若要rwx:4+2+1=7; 若要rw-:4+2=6; 若要r-x:4+1=5
(4)常用权限命令:
sudo chmod 777 -R xxx (更改文件夹及其子文件夹权限为777)
sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的.权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限
命令名称:chmod
命令英文原意:change the permissions mode of a file
有两种角色可以执行该命令,一种是 root 用户,另一种就是文件的所有者。
语法:
大括号里的内容表示只能选一个,其中 u 表示该文件的所有者,g 表示所属组,o 表示其他人,a 表示所有角色。
比如,给 abc.txt 文件的所属组加一个写的权限:
也可以同时做多个授权,比如给文件所有者加上执行权限,给其他人去掉写权限:
还可以用数字表示权限。权限的数字表示:
如果一个文件的权限是 rw-r--r--,那么翻译成数字就是 644,反过来,如果要更改文件的权限,可以这样写:
这样文件的权限就改成 rw-r----- 了。
还有一个选项 -R 是递归修改权限,该选项的功能是更改某个目录的权限的同时更改该目录下所有的子目录和文件的权限。
命令名称: chown
英文原意:change owner
语法:chown 用户名 文件
只有管理员账户可以更改文件的所属用户。
例如:
命令名称:chgrp
英文原意:change group
语法:chgrp 组名 文件
例如:
命令名称:umask
使用命令 umask -S 可以查看新建文件或目录的默认权限。
现在显示的是新建目录的默认权限,该目录的所有者的默认权限是 rwx,所属组的默认权限是 rx,其他人的默认权限是 rx。为什么说这是新建目录的默认权限而不是新建文件的默认权限,如果你查看新建文件的权限,会发现是 rw-r--r-- ,与新建目录的权限 rwxr-xr-x 相比,每种角色的权限都少了 x。所以说,只要知道了新建目录的默认权限,再去掉 x 权限,就是新建文件的默认权限。
如果直接执行 umask 命令,会显示一个数字。
这个数字叫做权限掩码,用 777 减去其后三位 022 就得到了每种角色的权限,即 755。翻译成字母就是 rwxr-xr-x 。
若想更改新建目录或文件的默认权限,只需执行 umask 权限掩码 即可。
例如,我想把新建目录的默认权限改成 rwxr-r-- ,翻译成数字就是 744,再用 777 减去 744 就得到了权限掩码 033。
虽然 Linux 系统的目录或文件的默认权限可以修改,但是 Linux 这样分配权限是有一定道理的,最好不要轻易修改。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流