4.4.15 ps 显示当前进程 (process) 的状态
4.4.16 netstat 列出系统上所有的网络套接字连接情况
1 操作系统
主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用,作为中间人,连接软件和硬件。
2 操作系统分类
2.1 桌面操作系统
windows系列,用户群体大
mac os:适合于开发人员
linux :应用软件少
2.2 服务器操作系统
linux:安全、稳定、免费,占有率高
windows servers:付费、占有率低
2.3 嵌入式操作系统
linux
2.4 移动设备操作系统
ios,android(基于linux)
3 操作系统发展史
unix:肯汤普森和丹尼斯里奇创始人
minix
linux:林纳斯,还有git
4 linux内核及发行版
4.1linux发行版本(也叫gnu/linux发行版)
通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件
4.2常见的发行版本
ubuntu
redhat
fedora
opensuse
linux mint
debian
manjaro
mageia
centos
arch
4.3 linux应用领域
(1)服务器领域
(2)嵌入式领域
(3)个人桌面领域
4.4 常用linux命令
命令行程序
终端 terminal
环境搭建需要使用到的命令:
cd、pwd、ll、ls、mkdir、touch、cp、rm、mv、>、cat、more、|、tar、chmod、top、ps、netstat、vim(4.4.1-4.4.17)
查看日志使用到的命令:
对软件测试人员来说,查看日志恐怕是软件测试人员运用Linux系统最多的功能。
查看日志主要是用于定位bug,或者查看程序执行情况(什么时候调用哪个服务,什么时候在哪个表中写数据,什么时候发起请求等都可以在日志中查询到)。
vim、less、cat、tail、grep
修改文件使用到的命令:
vim
4.4.1 cd 切换文件夹(目录)
cd /home 绝对路径 以根目录开头
cd admin 相等路径 不以根目录开头
cd .. 返回上一级目录
cd ~ 到自己家目录 /home/admin
cd – 电视回看功能
4.4.2 pwd 查看当前目录,在倒数第一、第二切换
pwd
4.4.3 ls
ls -a
ls –l 显示详细列表
ls –lh 把文件大小以人性化的方式显示
ls -lah 显示所有的文件,包含隐藏文件、隐藏文件是.开头的文件
ll 等于 ls –l
drwxwxr-x d代表文件夹 -文件
rwx 第一组文件的拥有者的权限,第二组代表文件拥有的组的权限,第三组代表其他用户拥有的权限。
ls 查看其他目录的内容
ls –la /home
ls *txt 查看当前目录下的所有以txt结尾的文件
4.4.4 mkdir创建文件夹
mkdir tupin 在当前目录下创建文件夹
mkdir /home/admin/a/tupian 以绝对路径创建文件夹
mkdir /home/admin/a/tupian –p 如果上级目录不存在,加上-p自动创建父级目录
mkdir a b 在当前目录创建多个文件夹
mkdir a/{c,d}在指定目录下创建多个文件夹
mkdir .abc 以.开头的是创建隐藏文件夹
4.4.5 touch 创建一个空文件
touch abc.txt 在当前目录下创建 如果指定了目录
touch .abc 创建隐藏文件
gedit abc.txt 使用笔记本打开文件
4.4.6 rm 删除文件
rm a.txt 删除文件
rm abc -r 删除文件夹
rm * -r 不能删除隐藏文件
4.4.7 cp 拷贝文件
cp 1.txt 2.txt
cp abc abc_bak –r 拷贝文件夹
4.4.8 mv移动文件
mv 1.txt 2.txt 重命名
mv 1.txt ~移动到指定目录
4.4.9 >重定向命令
ls > 1.txt 把命令ls返回的内容输出到1.txt中
ls >> 1.txt 把命令返回的结果输出到文件中,追加的方式
4.4.10 cat命令 查看或者合并内容
cat 1.txt 把文件的内容输出到屏幕中
cat 1.txt 2.txt
cat 1.txt 2.txt > 3.txt 把多个文件的内容合并到新的文件中
cat 1.txt 2.txt >> 3.txt 追加
4.4.11 more命令
查看文件内容,可以分页显示
ls / >> 1.txt
more 1.txt 查看内容多的文件,按空格键往下翻页,按b按键往回翻页,按q键退出
4.4.12 管道 |
ls –l / | more 把左边的命令返回的结果交给右边命令进行处理
4.4.13 修改文件权限:chmod
u 文件的拥有者
g 文件的拥有的组
o 其他用户
a 所有用户
+添加权限
-删除权限
=设置权限(把之前的权限换成新的权限)
chmod u+r test.txt 给文件的拥有者添加(读)权限
r 可读
w 可写
x 可执行
- 没有任何权限
Chmod u=r,g=w,-r test.txt 给自己设置r权限,给自己组添加w权限,给其他人删除r权限
数字法
R 4
W 2
X 1
- 0
Chmod 123 test.txt 第一位数字代表自己的权限,第二位代表自己组的权限,第三位代表其他人的权限
3=1+2 代表wx权限
4.4.14 top 实时显示 process 的动态
top
4.4.15 ps 显示当前进程 (process) 的状态
ps -A 显示进程信息
ps -u root //显示root进程用户信息
ps -ef //显示所有进程信息,连同命令
4.4.16 netstat 列出系统上所有的网络套接字连接情况
1. 列出所有连接
netstat -a 列出所有连接
2. 只列出 TCP 或 UDP 协议的连接
netstat -at 列出 TCP 协议的连接 (同时显示了 IPv4 和 IPv6 的连接)
netstat -au 列出 UDP 协议的连接 (同时显示了 IPv4 和 IPv6 的连接)
3. 禁用反向域名解析,加快查询速度
netstat -ant 列出所有 TCP 协议的连接,没有使用域名解析技术。(默认情况下 netstat 会通过反向域名解析技术查找每个 IP 地址对应的主机名。这会降低查找速度。如果你觉得 IP 地址已经足够,而没有必要知道主机名,就使用 -n 选项禁用域名解析功能)
4. 只列出监听中的连接
任何网络服务的后台进程都会打开一个端口,用于监听接入的请求。这些正在监听的套接字也和连接的套接字一样,也能被 netstat 列出来。使用 -l 选项列出正在监听的套接字。
netstat -tnl 列出处于监听状态的 TCP 端口和连接
5. 获取进程名、进程号以及用户 ID
查看端口和连接的信息时,能查看到它们对应的进程名和进程号对系统管理员来说是非常有帮助的。举个栗子,Apache 的 httpd 服务开启80端口,如果你要查看 http 服务是否已经启动,或者 http 服务是由 apache 还是 nginx 启动的,这时候你可以看看进程名。
使用 -p 选项查看进程信息。
sudo netstat -nlpt
使用 -p 选项时,netstat 必须运行在 root 权限之下,不然它就不能得到运行在 root 权限下的进程名,而很多服务包括 http 和 ftp 都运行在 root 权限之下。
相比进程名和进程号而言,查看进程的拥有者会更有用。使用 -ep 选项可以同时查看进程名和用户名。
sudo netstat -ltpe
6. 打印统计数据
netstat -s 显示所有网络包的统计情况,如果想只打印出 TCP 或 UDP 协议的统计数据,只要加上对应的选项(-t 和 -u)即可
7. 显示内核路由信息
使用 -r 选项打印内核路由信息。打印出来的信息与 route 命令输出的信息一样。我们也可以使用 -n 选项禁止域名解析。
netstat -rn
8. 打印网络接口
netstat 也能打印网络接口信息,-i 选项就是为这个功能而生。
netstat -i
上面输出的信息比较原始。我们将 -e 选项和 -i 选项搭配使用,可以输出用户友好的信息。
netstat -ie 输出信息与 ifconfig 输出的信息一样
9. netstat 持续输出
我们可以使用 netstat 的 -c 选项持续输出信息。
netstat -ct 这个命令可持续输出 TCP 协议信息
10. 显示多播组信息
选项 -g 会输出 IPv4 和 IPv6 的多播组信息。
netstat -g
4.4.17 编辑器vim
esc:从插入模式或末行模式进入命令模式
移动光标:
h左移
j 下移
k 上移
l 右移
M 光标
4.4.18 less对文件或其它输出进行分页显示
https://www.cnblogs.com/peida/archive/2012/11/05/2754477.html
命令格式: less 【参数】 文件
less log2013.log 查看文件
ps -ef |less ps查看进程信息并通过less分页显示
history | less 查看命令历史使用记录并通过less分页显示
Less log2013.log log2014.log 浏览多个文件
4.4.19 tail 指定点开始将文件写到标准输出
命令格式;
tail[必要参数][选择参数][文件]
tail -n 5 log2014.log 显示文件最后5行内容
tail -f test.log 循环查看文件内容
tail -n +5 log2014.log 从第5行开始显示文件
4.4.13 链接 ln
软链接 软链接本身不存储内容,只记录源文件的名称
ln –s 1.txt 1_link 给1.txt创建一个软链接,相当于windows中的快捷方式
ln –s 1.txt ~/1_link 给其他目录创建一个软链接,如果源文件不写绝对路径,软链接指向的文件是不在的
ln –s /home/admin/1.txt ~/l_link
ln –s abc abc_link 给目录创建软链接
硬链接 本身占空间,相当于把源文件复制一份,与源文件同步发生变化,删除硬链接文件不影响源文件,不能给目录创建硬链接
使用ll查看时,有一个数字,代表有几个文件能同步发生变化
ln 1.txt 1_hard_link
删除链接:
rm -rf 链接名
4.4.14 文本搜索:grep (四剑客之一)
grep hello test.txt 在某个文件中查找包含hello的内容,只要一行中有hello会把整行显示
grep –niv hello test.txt n显示查找到的内容的行号,i查找时不区分大小写,v反向查找,查找不包含hello的行
grep –n hello /home/admin –r 查找整个目录中的所有文件,包含hello的内容
4.4.15 find 查找文件(四剑客之一)
find /home –name 1.txt 在home目录下查找文件名为1.txt的文件
find /home –name ‘*txt’ 在home目录下查找以txt结尾的文件
4.4.16 归档管理:tar 打包
tar cvf a.tar 1.txt 2.txt f必须放在最后,f后面的而第一个参数代表要生成的文件名,后面所有的参数是要打包的文件,可以是目录
tar tf a.tar 列出包里面的文件
tar xvf a.tar 如果没写目录,把包里面的文件解压到当前目录
tar xvf a.tar –C tar 解包到指定的文件夹tar,文件夹tar需要提前创建好
4.4.17 gzip压缩解压
压缩
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 *txt 以gzip的方式打包并且解压,解压并解包一步到位
bzip2 文件压缩解压
打包压缩
tar -jcvf 压缩包包名 文件..(tar -jcf b.tar.bz2 *.c)
解压解包
tar -jxvf 压缩包包名(tar jxf b.tar.bz2 –C jtar)
zip、unzip 文件压缩解压
不需要写扩展名,会自动生成zip扩展名
zip –r zz *txt (zz代表要生成的压缩文件)
unzip –d 解压后目录文件 压缩文件 (解压时会自动创建目录, 例如:unzip -d zz zz.zip)
压缩率 zip<gzip<bzip2
通用性 zip>gzip>bzip2
4.4.18 which 查看命令位置
切换到管理员账号 su
切换回普通用户 su 用户名
who 查看当前登录的用户
admin pts/0 pts代表一个终端
admin tty1 tty代表用户登录了操作系统
pkill –kill –t tty1
4.4.19 关机重启 reboot、shutdown
reboot 不需要权限
shutdown 需要root权限