1.切换到root帐户

su
sudo su

*会需要提示输入管理员密码,才能进入

2.打开gedit

sudo gedit

*需要root权限

3.安装软件或者包(这是使用命令的方式安装,有其他的安装方式!)

sudo apt-get install 软件名或者包名

*需要root权限

4.重启系统

sudo reboot

*需要root权限

5.关机

sudo shutdown -h now

*需要root权限

6.查看当前使用的Shell类型

echo $SHELL

*Shell有多种不同的版本,按照来源可分为两大类:一类是有贝尔实验室开发的,以Bourne Shell(sh)为代表,兼容此类(sh)的Shell有bash、ksh、zsh。另外一类是由加州大学伯克莱分校开发的,以 C Shell(csh)为代表,兼容此类(csh)的有tcsh。bash(Bourne again / born again)是许多Linux发行版的默认Shell。完全兼容sh,可以不用修改sh脚本,直接在bash中执行。
7.环境变量

7.1查看用户主目录:

echo $HOME

7.2查看可执行命令的搜索路径

echo $PATH

7.3查看当前用户的登录名

echo $LOGNAME

7.4查看当前命令提示符

echo $PS1

7.5查看当前使用的Shell

echo $SHELL

7.6查看当前目录下的内容
显示隐藏的文件或文件夹 模式

ll

不显示隐藏的文件或文件夹 模式

ls -l

下面是一段,ll 或者 ls 的结果,每一行第一个字符是"d",是文件夹;第一个字符是"-",是文件。

drwxr-xr-x 10 root root      4096 10月  4 21:27 pycharm-community-2018.2.4
-rwxrwxrwx  1 zhw  zhw  260812419 10月  4 19:53 pycharm-community-2018.2.4.tar.gz

8.查看最近使用过的所有命令

history

*查看的是当前用户的命令历史,而非其他用户
每一条执行过的命令都有历史,历史中有该命令执行过的编号,允许使用编号再一次执行该命令

这里是历史

zhw@zhw-VirtualBox:~$ history1  ping 127.0.0.12  help3  ping http://ppa.launchpad.net/fcitx-team/nightly/ubuntu/

下面的命令作用是再一次执行"ping http://ppa.launchpad.net/fcitx-team/nightly/ubuntu/"命令。

!3

9.命令行的输入与输出
Shell程序通常自动打开3个标准文档:标准输入文档(stdin)、标准输出文档(stdout)、标准错误输出文档(stderr)。stdin一般对应终端键盘,stdout和stderr对应终端屏幕。多数情况下使用标准输入输出作为命令的输入输出,但有时可能要改变标准输入输出,这就涉及重定向和管道。
输入重定向
主要用于命令的输入源,基本用法:

命令 < 文件名

wc命令用于统计指定的文件包含的行数、字数和字符数。

wc < 1.txt

输出重定向
主要用于命令的输出,让标准输出不要显示在屏幕上,而是写入指定文件中,基本用法:

命令 > 文件名

例如:

history > 1.txt

如果1.txt文件存在,则以覆盖的方式写入!!!
下面是以追加的方式写入

history >> 1.txt

以上是对标准输出来讲的,至于标准错误输出的重定向,只需要换一种符号,将">“改为"2>”,将">>“改为"2>>”,讲标准输出和标准错误输出一起重定向到同一个文件,使用符号”&>"。
10.在终端中输出某个文件

cat 1.txt

*打印

11.查看用户与组配置文件
用户帐户配置文件 /etx/passwd

sudo cat /etc/passwd

结果:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin

对应的解释:

帐户名:密码:账户编号(UID):用户所属的默认组(GID):注释:用户主目录:所使用的Shell

用户密码置文件 /etc/shadow

sudo cat /etc/shadow

结果:

root:$6$P5rvXWd4$XRXhPJlqJJxBgS8W05BtSfeoPTZasl/hsuCBUhIZTXijF.WYpcgrMruqbBgQuK0QWb86qh40lSetY9/5iE92W/:17811:0:99999:7:::
daemon:*:17016:0:99999:7:::
bin:*:17016:0:99999:7:::
sys:*:17016:0:99999:7:::
sync:*:17016:0:99999:7:::
games:*:17016:0:99999:7:::

对应的解释:

帐户名:密码:最近一次修改:最短有效期:最长有效期:过期前警告:过期日期:禁用:保留用于未来扩展

*第2个字段是加密的密码,该字段值如果为空,表示没有密码;如果为!!,表示密码已被禁用(锁定)。
*第3个字段是最近一次修改密码的日期(这是相对日期格式,即从1970年1月1日到修改日期的天数。)
*第4个字段表示密码多少天内不许修改。0值表示随时修改。
*第5个字段表示多少天后必须修改
*第6个字段表示密码过期前多少天发出警告信息
*第7个字段表示密码过期日期,如果为空表示永不过期。

组帐户配置文件 /etc/group

cat /etc/group

结果:

root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,zhw

对应的解释:

组名:组密码:GID:组成员列表

组密码配置文件 /etc/gshadow

sudo cat /etc/gshadow

结果:

root:*::
daemon:*::
bin:*::
sys:*::
adm:*::syslog,zhw

对应的解释:

组名:加密后的密码:组管理员:组成员列表

12.安装用户帐户管理工具

sudo apt-get install gnome-system-tools

13.查看全部用户列表
使用了awk文本分析工具

awk -F ':' '{print $1}' /etc/passwd

14.使用命令管理 用户帐户 和 组
添加用户帐户

useradd 或 adduser

删除用户帐户

userdel 或 deluser

修改用户帐户

usermod

chfn -f表示全名,-h电话号码,-o办公地址

chfn

修改帐户密码:

sudo passwd 帐户名称

查看useradd的默认配置

    useradd -D

帐户密码锁定

passwd -l 用户名

帐户密码解锁

passwd -a 用户名

查看某帐户当前状态

passwd -S 帐户名

删除帐户密码

passwd -d 帐户名

组的创建

groupadd 或 addgroup 组名

组的删除

groupdel 或 delgroup 组名

组的修改

groupmod 组名

查看某用户所属的全部组

groups 用户名

将用户添加到指定的组

gpassqd --a 用户名 组名

将某用户从组中删除

gpasswd --d 用户名 组名

批量添加到组中

gpasswd -M 用户名1,用户名2....

还允许使用adduser、deluser,将用户添加到组中、将用户从组中删除

adduser 用户名 组名
deluser 用户名 组名

查看用户信息

id 用户名

查看当前系统有哪些用户登录

sudo who

查看系统历史登录情况

last

*ubuntu 特别提供命令:

sudo adduser
sudo deluser
sudo addgroup
sudo delgroup
以上命令的选项均使用长格式,母的是为了更完善用户信息。

15.目录的认识

/   表的是根目录
~   表示的是当前用户的主目录
.   表示的是当前目录
..  表示的是父目录
/bin 存放用于系统管理维护的常用实用命令文件
/boot   存放用于系统启动的内核文件和引导装载程序文件
/dev    存放设备文件
/etc    存放系统配置文件,如网络配置、设备配置、X Window系统配置等
/home   各个用户的主目录,其中的子目录名称即为各用户名
/lib    存放动态连接共享库(其作用类似于Windows中的.dll文件)
/media  为光盘、软驱等设备提供默认挂载点
/mnt    为某些设备提供默认挂载点
/root   root用户主目录
/proc   系统自动产生的映射。查看该目录中的文件可以获取有关系统硬件运行的信息。
/sbin   存放系统管理员或root用户使用的命令文件
/usr    存放应用程序和文件
/var    保存经常变化的内容,如系统日志、打印等
Linux文件类型
在介绍文件类型之前,先介绍一下文件结构。Linux文件无论是一个程序、一个文档、一个数据库,或者是一个目录,操作系统都会赋予文件相同的结构,具体包括以下两个部分。
索引节点:又称I节点。在文件系统结构中,包含有关相应文件信息的一个记录,这些信息包括文件权限、文件所有者、文件大小等。
数据:文件的实际内容,可以是空的,也可以非常大,并且有自己的结构。
可以将Liunx文件分为以下4种类型。
1.普通文件
2.目录文件
3.设备文件
4.链接文件
使用ls -l命令以长格式列目录时,每一行第1个字符表示文件类型。
-   表示普通文件
d   表示目录文件
c   表示字符设备文件
b   表示块设备文件
l   表示符号链接文件
文件与目录的命名规范
在Linux中,文件和目录的命名由字母、数字和其他字符组成,应遵循一下规范目录或文件名长度可以达到255个字符
包含完整路径名称及目录(/)的完整文件名为4096个字符
严格区分大小写
可以包含空格等特殊字符,但必须使用引号;不可以包含“/”字符。还应避免特殊字符:* ? < ? ; & ! [ ] | \ ' " ` ( ) { }
同类文件应使用同样的后缀或扩展名

16.目录管理
创建目录

mkdir ~/test
mkdir -p ~/te1/te2
-p  表示的是要建立的目录的父目录尚未建立,将同时创建父目录

删除目录

rm -r ~/test1

改变工作目录

cd 路径

显示当前路径

pwd

显示目录内容

ls   [选项]    [目录或文件]

默认情况下输出条目按字母顺序排列。如果没有给出参数,则将显示当前目录下所有子目录和文件的信息。其选项及其含义如下:

-a   显示所有的文件,包括以"."开头的文件
-c  按文件修改时间排序
-i  在输出的第1列显示文件的索引节点号
-l 以长格式显示文件的详细信息。输出的信息分成多列,依次是文件类型与权
限、链接数‘、文件所有者、所属组、文件大小、建立或最近修改的时间、文
件名
-r 按逆序显示ls命令的输出结果
-R 递归地显示指定目录的各个子目录中的文件

17.文件管理
文件内容显示
cat命令连接文件并打印到标准输出上。

cat  [选项]    [文件名]   [文件名]

该命令有两个主要功能,一是用来输出文件内容,二是用来合并文件。

cat ~/1.txt
cat 1.txt 2.txt > 3.txt

more命令
如果文件太长,用cat命令只能看到文件最后一页,而用more命令时可以逐页显示,more命令语法如下:

more [选项]    [文件名]

该命令一次显示一屏文本,满屏后显示停下来,并在每个屏幕的底部出现一个提示信息,给出至今已显示的该文件的百分比。

less命令
less命令也可以用来分页显示文件内容,但功能比more更强大,语法:

less [选项]    [文件名]

less比more更灵活。例如,用page up、page down键可以向前、向后移动一页,用上下光标键可以前后移动一行。
ps:可以使用q退出程序

head命令
head命令在屏幕上显示文件的开头若干行或多少个字节,如下:

head [选项]    [文件名]

不带任何参数,默认输出前10行

-n   表示输出前n行
-e 表示输出n个字节

tail命令
tail命令在屏幕上显示指定文件的末尾若干行或若干字节,与head命令相反。如下:

tail [选项]    [文件名]

具体用法参见head命令
od命令
od命令用于按照特殊格式查看文件内容

od   [选项]...模式   [文件名]...

文件内容查找

grep [选项]...模式   [文件名]...

参数如下:

-i   表示忽略大小写
-x  表示强制整行匹配
-w  强制关键字完全匹配
-e  用于定义正则表达式
-m  定义多少次匹配后停止搜索
-n  指定输出的同时打印行号
-H  为每一匹配打印文件名
-r  在指定目录中进行递归查询

comm命令
对两个已经排好序的文件进行逐行比较,只显示它们共有的行,如下:

comm [-123]  文件1 文件2
-1  表示不显示仅存在文件1中存在的行
-2  表示不显示仅存在文件2中存在的行
-3  表示不现实在comm命令输出中的第1列、第2列和第3列

diff命令
diff命令逐行比较两个文件,列出它们的不同之处,如下:

diff [选项]    文件名列表

文件内容排序
sort 命令用于对文本文件的各行进行排序,如下:

sort [选项]    文件名列表

文件内容统计
wc命令用于统计指定文件的字节数、字数、行数、并输出到屏幕,如下:

wc   [选项]    文件名列表

参数如下:

-c   表示统计字节数
-l  表示统计行数
-w  表示统计字数

文件查找
find命令用于在目录结构中搜索满足查询条件的文件并执行指定操作,如下:

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

简单的用法如下:

sudo find ~ -name "a*.txt" -print
sudo find ~ -name "1.txt" -exec grep "100" {} \;
sudo find ~ -name "1.txt" -exec less {} \;

至于其他比较复杂的用法,请到Ubuntu find命令详解
locate命令
locate命令用于查找文件,它比find命令的搜索速读快,但需要一个数据库,这个数据库由每天的例行工作(crontab)程序自动建立和维护,如下:

locate   [选项]... [模式]...

参数:

-d   指定locate命令所使用的数据库,以取代默认的数据库/var/lib/mlocate/mlocate.db
-c  表示只列出查到的题目数量
-A  表示列出匹配的所有条目
-w  表示匹配整个路径

例如:

locate -w chgpasswd

18.文件、目录的复制、移动、删除
cp命令
将源文件或目录复制到目标文件或目录中,如下:

cp   [选项]    源文件或目录  目标文件或目录

如果参数中指定了两个以上的文件或目录,且最后一个是目录,则cp命令视最后一个为目的目录,将前面指定的文件和目录复制到该目录下,如果最后一个不是已存在的目录,则cp命令将给出错误信息。
rm命令
可以删除一个目录中的一个或多个文件和目录,也可以将某个目录及下属的所有文件和子目录删除,如下:

rm   [选项]    文件列表

该命令对于链接文件,只是删除整个链接文件,而原有文件保持不变。
mv命令
用来移动文件或目录,还可以用于修改文件或目录名,如下:

mv   [选项]    源文件或目录  目标文件或目录

参数

-i   表示目标文件已存在时,在覆盖之前,给出提示
-f  表示目标文件已存在时,不给出任何提示

修改文件或目录名

mv 1.txt 4.txt
mv 文档 文件

链接文件的创建
链接文件命令是ln,该命令在文件之间创建链接,如下:

ln -s 目标(源文件或目录) 链接文件
符号连接

硬连接

ln   目标(源文件或目录)  链接文件

连接的对象可以是文件,也可以是目录。如果链接指向目录,那么用户就可以利用该连接直接进入被链接的目录,而不用给出到达该目录的一长串路径。

文件压缩与解压
gzip命令
对.gz文件操作

gzip [选项]    压缩/解压文件名

unzip命令
对winzip格式文件进行解压缩

unzip    [选项]    解压缩文件名

tar命令
用于对文件和目录打包

tar  [选项]    文件或目录名

19.分配权限
变更所有者

chown    [选项]    [新所有者]  文件列表

使用-R进行递归变更,即目录连同子目录下的所有文件的所有者都变更。
例如:

chown root *.txt

结果:

-rw-rw-r-- 1 root zhw 20856 10月 11 16:25 1.txt
-rw-rw-r-- 1 root zhw 16719 10月 11 13:53 2.txt
-rw-rw-r-- 1 root zhw    31 10月 11 11:34 3.txt

变更所属组

chgrp    [选项]    [新的所属组] 文件列表

使用-R也可以连同子目录中的文件一起变更所属组。
例如:

chgrp root *.txt

结果:

-rw-rw-r-- 1 root root 20856 10月 11 16:25 1.txt
-rw-rw-r-- 1 root root 16719 10月 11 13:53 2.txt
-rw-rw-r-- 1 root root    31 10月 11 11:34 3.txt

还可以使用chown命令同时变更文件所有者和所属组,如下:

chown    [选项]    [新所有者] :    [新的所属组] 文件列表

例如:

chown zhw:zhw *.txt

结果:

-rw-rw-r-- 1 zhw zhw 20856 10月 11 16:25 1.txt
-rw-rw-r-- 1 zhw zhw 16719 10月 11 13:53 2.txt
-rw-rw-r-- 1 zhw zhw    31 10月 11 11:34 3.txt

查看用户的umask值

umask

20.使用存档工具进行简单备份
语法如下:

tar  [选项]    档案文件    文件或目录列表

压缩文件:

tar  -czvf   xxx.tar ~/test

将用户目录下的test文件或文件夹打包成xxx.tar

解压文件:

tar  -xzvf   xxx.tar

将xxx.tar解压到当前目录下

使用dd命令进行存档
dd是一种文件转换命令,用于复制文件,并在复制的同时进行指定的转换和格式处理,如果转换取决于选项和参数。
它使用if选项指定输入端,of选项指定输出端,如下:

dd   if=/dev/cdrom  of=cdrom.iso

由于dump和restore命令的出现,dd比较少用了。

21.APT命令行工具的使用(对软件包的管理)

Linux 软件包管理发展过程
1.从源码安装软件
早期的Liunx系统中主要使用从源码发布软件,用户往往需要直接 将源码编译成二进制文件,并对系统进行相关配置,有时甚至需要自己修改代码 。不过这样的安装软件,显然难度比较大。2.使用软件包安装软件
软件包将应用程序的二进制文件、配置文档和帮助文档等合并打包在一个文件中,用户只需使用相应的软件包管理器来执行软件的安装、卸载、升级和查询等操作。RPM是RedHat Package Manager(软件包管理器)的缩写,是由Red Hat公司提出的一种软件包管理标准,文件后缀为.rpm。
Deb是Debian Packager的缩写,是Debian和Ubuntu系列发行版本上使用的软件包格式(文件后缀为.deb),需要使用dpkg 命令进行管理。3.高级软件包管理工具
Yum(Yellow dog Updater,Modified)是一个基于PRM包的软件包管理器,能够从指定的服务器自动下载RPM包并且完成安装。适用于Red Hat Enterprise Linux、CentOs、Fedora等Liunx。APT(Advanced Packaging Tools)可译为高级软件包工具,是Debian及其派生发行版本的软件包管理器。

使用apt安装和卸载时需要提供准确的软件包名。而apt-cache提供模糊查询。
列出已安装的所有软件:

apt-cache pkgnames

模糊查询软件包:

apt-cache search ssh

show可以查看软件包详细信息(要求是软件包全名)

apt-cache show python

depends可以查看软件包依赖的软件包

apt-cache depends python

rdepends可以查看软件包被哪些软件包依赖

apt-cache rdepends python

showpkg查看软件包的依赖关系

apt-cache showpkg python

policy查看软件包的安装状态和版本信息

apt-cache policy python

安装软件包
建议安装前先执行下面的命令更新一下apt-get的信息

apt-get update

然后在执行安装命令

apt-get install python

卸载软件包

sudo apt-get remove emacs

如果要删除的同时还删除配置文件,则执行:

sudo apt-get purge emacs

如果需要更彻底的删除,则执行:

sudo apt-get autoremove 软件包名

这将删除该软件包及其所依赖的、不再使用的软件包。

清除软件包备份:

sudo apt-get autoclean 软件包名

软件包升级:
在升级前请先更新apt-get中的信息

apt-get update
apt-get upgrade

执行下面的命令,可以识别出依赖关系改变的情形做出相应处理,会尝试升级最重要的包。

sudo apt-get dist-uprade

执行apt-get upgrade命令时加上-u选项很有必要,这可以让apt显示完整的可更新软件包列表。
可以使用-s来模拟升级软件包,这样便于查看哪些软件包会被更新,确认没有问题后,再实际执行升级。
如果只想对某一具体的软件包进行升级,可以在执行安装软件包命令时加上-reinstall 选项。

sudo apt-get --reinstall install 软件包名
子命令 说明
apt-get update 获取最新的软件包列表,同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,以确保用户能获取最新的软件包
apt-get upgrade 更新当前系统中所有已安装的软件包,并同时更新这些软件包所依赖
apt-get install 下载、安装软件包并自动解决依赖关系
apt-get remove 卸载指定的软件包
apt-get autoremove 自动卸载所有未使用的软件包
apt-get purge 卸载指定的软件包及其配置文件
apt-get source 下载软件包的源代码
apt-get clean 清理一下载的软件包,实际上是清除/var/cache/apt/archives 目录中的软件包,不会影响软件的正常使用
apt-get autoclean 删除已卸载的软件的软件包备份

*Ubuntu使用文本文件/etc/apt/sources.list来保存软件包的安装和更新源的地址。另外与该文件功能相同的是/etc/apt/sources.list.d目录下的.list文件,为在单独文件中写入安装源的地址提供了一种方式,通常用来安装第三方软件。执行apt-get updata就是同步(更新)/etc/apt/sources.list和/etc/apt/sources.list.d目录下的.list文件的软件源的索引,以获取最新的软件包。

Ubuntu使用文本文件/etc/apt/sources.list来保存软件包的安装和更新源的地址。第三方软件安装源/etc/apt/sources.list.d目录下的.list文件。
结果如下:

# deb cdrom:[Ubuntu 14.04.5 LTS _Trusty Tahr_ - Release amd64 (20160803)]/ trusty main restricted# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted## Major bug fix updates produced after the final release of the
## distribution.## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://cn.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty universe## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://cn.archive.ubuntu.com/ubuntu/ trusty multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty multiverse## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu trusty partner
# deb-src http://archive.canonical.com/ubuntu trusty partner## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu trusty main
deb-src http://extras.ubuntu.com/ubuntu trusty main

第一个字段,表示的是deb类型的安装包。
第二个字段,表示的是软件源的URL
第三个字段,定义软件包的发行版本或分类。

main:    Canonical支持的开源软件,大部分都是从这个分支获取的
universe:   社区维护的开源软件
restricted: 由设备生产商专有的设备驱动软件
multiverse: 受版权或者法律保护的相关软件
security:   重要的安全更新
updates:    推荐的一般更新
proposed:   预览版本的更新
backports:无支持的更新,这种更新通常还存在一些bug

utopic表示Ubuntu版本.

22.使用“新得立”软件包管理器
安装命令:

apt-get install synaptic

可以使用下面的命令打开软件:

synaptic

管理ppa源
ppa源语法格式如下:

ppa:user/ppa-name

添加ppa源如下:

sudo add-apt-repository ppa:user/ppa-name

删除ppa源如下:

sudo add-apt-repository -r ppa:user/ppa-name

也可以通过图形界面管理,打开“系统设置”界面,单击“系统”区域的“软件和更新”按钮。

23.Deb、RPM软件包管理

查看Deb软件包
如下:

dpkg -l

-l 列出软件包的简要信息,包括状态、名称、版本、架构和简要描述。

其实可以这样写:

sudo dpkg -l | grep lib

如果要知道已安装的软件包拥有哪些文件,可以使用选项-S,命令格式如下:

dpkg -S 软件包名

示例:

sudo dpkg -S openssh-server

安装Deb软件包,命令格式如下:

sudo dpkg -i 软件包文件名

卸载Deb软件包,命令格式如下:

sudo dpkg -r 软件包名

先选 -r 删除软件包的时候会保留该软件包的配置信息。
如果要连配置信息一起删除,应使用选项-P,格式如下:

sudo dpkg -P 软件包名

RPM是RPM Package Manager(RPM 软件包管理器)的缩写,是由Red Hat公司提出的一种软件包管理标准,可用于软件包的安装、查询、更新升级、效验、卸载已安装的软件包,以及生成.rpm格式的软件包等,其功能均是通过rpm命令结合使用不同的选项来实现的。RPM软件包的名称具有特定的格式,其格式如下:

软件名称-版本号(包括主版本和次版本号).软件运行的硬件平台.rpm

例如:netconfig安装的软件包名称为netconfig-0.8.24-1.2.2.1.i386.rpm
在支持rpm的Liunx发行版中,通常使用rpm命令来安装和卸载软件。

安装rpm软件命令格式如下:

sudo rpm -ivh 软件包全路径名

卸载RPM软件包使用 -e 选项 命令格式如下:

sudo rpm -e 软件包名

查询RPM软件使用 -q 选项 命令格式如下:

sudo rpm -q 软件包名

注意ubuntu的软件包格式是.deb,不应当直接安装RPM包。
如果要安装RPM包,则要先用alien工具将.rpm转换成.deb格式。
如果没有安装aplien,可以执行下面的命令安装它。

sudo apt-get install alien

然后使用alien 将.rpm格式转换为.deb,完成后会生成一个同名的.deb文件。

sudo alien 文件名.rpm

然后再使用dpkg工具来安装它

24.run与.bin二进制包软件包安装

run程序安装包实质上是由一个安装脚本加上要安装的程序合成的一个文件,文件名后缀为.run。.run文件的安装很简单,首先为该文件增加可执行权限,可以执行以下命令:

sudo chmod a+x 文件名.run

然后在终端执行该文件即可,命令如下:

sudo ./文件名.run

要卸载使用run安装包安装的软件,需要到安装目录中查看帮助文档,通常该目录总会提供反安装脚本 uninstall,可以切换到该安装目录执行此脚本。

sudo ./uninstall

如果不提供该脚本,则会提供其他维护或卸载工具。例如:qt-opensource-linux-x64-5.4.1.run安装包安装之后,安装目录中会提供一个名为MaintenanceTool的维护工具,直接运行即可更新或卸载软件。

bin安装包与run安装包类似,也是Linux系统上的一种自执行文件。在执行.bin文件之前,也需要为文件赋予执行权限,安装与卸载过程与run安装包一样。

25.使用源码安装
如果APT、Deb软件包不能提供所需的软件,就要考虑源代码安装,获取源码包,进行编译来安装,另外源码包可以根据用户的需要队软件加以定制,有的还允许二次开发。

解压软件包

tar -jxvf file.tar.bz2
tar -zxvf file.tar.gz

选项 -j 指示具有bzip2的属性,对bzip2格式压缩和解压
选项-z 指示具有gzip的属性,对gzip格式压缩和解压
选项-x 用于解压
选项-v 表示在解压过程中显示文件
选项-f 表示使用压缩包文件名

执行configure生成编译配置文件Makefile
源码需要编译成二进制代码在进行安装。自动编译需要Makefile文件,在源码包中使用configure命令生成。多数源码包都提供一个名为configure的文件,它实际上是一个使用bash脚本编写的程序。
该脚本将扫描系统,以确保程序所需的所有库文件页已存在,并做好 文件路径及其它所需的设置工作,并创建Makefile这个文件。
为方便根据用户的实际情况生成Makefile文件以指示make命令正确编译源码,
configure通常会提供若干选项供用户选择。

configure 命令常用选项

选项 说明
–help 提供帮助信息
–prefix=PREFIX 指定软件安装位置,默认为/usr/local
–exec-prefix=PREFIX 指定执行文件安装路径
–libcudir=DIR 指定库文件安装路径
–sysconfidr=DIR 指定配置文件安装路径
—includeir=DIR 指定头文件安装路径
–disable-FEATURE 关闭某属性
–enalbe-FEATURE 开启某属性

执行make命令编译源码
make会根据Makefile文件中的设置对源码进行编译并生成可执行的二进制文件。

执行make install安装软件
make只是生成可执行文件,要将可执行文件安装到系统中,还需要执行make install命令

另外,执行make clean命令卸载软件

实例:源码安装Apache服务器
我们要用到几个东西
httpd 下载地址
apr 下载地址
apr-util 下载地址
pcre 下载地址

我的版本如下:
httpd-2.4.38.tar.gz
apr-1.6.5.tar.gz
apr-util-1.6.1.tar.gz
pcre-8.42.tar.gz

然后执行如下命令

# 我的文件在Download文件夹下
cd $HOME/Downloads/
tar -zxvf httpd-2.4.38.tar.gz
sudo mv -f httpd-2.4.38 /usr/localtar -zxvf apr-1.6.5.tar.gz
mv apr-1.6.5 apr
sudo mv -f apr /usr/local/httpd-2.4.38/srclib/tar -zxvf apr-util-1.6.1.tar.gz
mv apr-util-1.6.1 apr-util
sudo mv -f apr-util /usr/local/httpd-2.4.38/srclib/tar -zxvf pcre-8.42.tar.gz
sudo mv pcre-8.42 /usr/localcd /usr/local/pcre-8.42
sudo ./configure
make
sudo make installcd /usr/local/httpd-2.4.38
sudo ./configure --with-included-apr
make
make install

然后就安装完成了!

26.Linux 进程 管理
Liunx系统上所有运行的任务都可以称之为一个进程,每个用户任务、每个应用程序或服务也都可以称之为进程,Ubuntu也不例外!

为了区分不同的进程,系统给每个进程都分配了一个唯一的进程标识符(进程号,简称PID)。

Liunx 的进程大体可分为一下3种类型:
交互进程:在shell下通过执行程序所产生的进程,可在前台或后台运行。
批处理进程:一个进程序列
守护进程:又称监控进程,是指哪些在后台运行,并且没有控制终端的进程,通常可以随着操作系统的启动而启动,也可以将其称为服务。
例如:
httpd是Apache服务器的守护进程。守护进程最重要的特性是后台进程,其次守护进程必须和其运行前的环境隔离开来。

查看进程
Ubuntu 使用进程控制块(Proccess Control Block ,PCB)来标识和管理进程。一个进程主要有以下参数。

PID:进程号,用于唯一标志进程
PPID:父进程号,创建某进程的上一个进程的进程号
USER:启动某一个进程的用户ID和该用户所属组的ID
STAT:进程状态(运行、等待、停止、睡眠、僵死)
PRIORITY:进程的优先级
资源占用:包括CPU、内存等资源的占用信息

ps 命令,是最基本的进程查看命令,可以确定有哪些进程正在运行,进程的状态,进程是否结束,进程是否僵死,哪些进程占用了过多的资源等。
ps 命令最常用的还是监控后台进程的工作情况,因为后台进程是不与屏幕键盘这些输入进行通信的。
基本用法如下:

ps [选项]
选项 作用
a 表示显示系统中所有用户的进程
x 表示显示没有控制终端的进程及后台进程
e 表示显示所有进程
r 表示只显示正在运行的进程
u 表示显示进程所有者的信息
f 表示按全格式显示(列出进程间父子关系)
l 表示按长格式显示

*这些选项没有 - !

常用参数 示例:

ps aux
cs@pc-2:~$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.6  0.0 185384  5972 ?        Ss   19:59   0:01 /sbin/init splash
root         2  0.0  0.0      0     0 ?        S    19:59   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/0:0]
root         4  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/0:0H]
root         5  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/u16:0]
root         6  0.0  0.0      0     0 ?        I<   19:59   0:00 [mm_percpu_wq]
root         7  0.0  0.0      0     0 ?        S    19:59   0:00 [ksoftirqd/0]
root         8  0.0  0.0      0     0 ?        I    19:59   0:00 [rcu_sched]
root         9  0.0  0.0      0     0 ?        I    19:59   0:00 [rcu_bh]
root        10  0.0  0.0      0     0 ?        S    19:59   0:00 [migration/0]
root        11  0.0  0.0      0     0 ?        S    19:59   0:00 [watchdog/0]
root        12  0.0  0.0      0     0 ?        S    19:59   0:00 [cpuhp/0]
root        13  0.0  0.0      0     0 ?        S    19:59   0:00 [cpuhp/1]
root        14  0.0  0.0      0     0 ?        S    19:59   0:00 [watchdog/1]
root        15  0.0  0.0      0     0 ?        S    19:59   0:00 [migration/1]
root        16  0.0  0.0      0     0 ?        S    19:59   0:00 [ksoftirqd/1]
root        17  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/1:0]
root        18  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/1:0H]
root        19  0.0  0.0      0     0 ?        S    19:59   0:00 [cpuhp/2]
root        20  0.0  0.0      0     0 ?        S    19:59   0:00 [watchdog/2]
root        21  0.0  0.0      0     0 ?        S    19:59   0:00 [migration/2]
root        22  0.0  0.0      0     0 ?        S    19:59   0:00 [ksoftirqd/2]
root        23  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/2:0]
root        24  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/2:0H]
root        25  0.0  0.0      0     0 ?        S    19:59   0:00 [cpuhp/3]
root        26  0.0  0.0      0     0 ?        S    19:59   0:00 [watchdog/3]
root        27  0.0  0.0      0     0 ?        S    19:59   0:00 [migration/3]
root        28  0.0  0.0      0     0 ?        S    19:59   0:00 [ksoftirqd/3]
root        29  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/3:0]
root        30  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/3:0H]
root        31  0.0  0.0      0     0 ?        S    19:59   0:00 [cpuhp/4]
root        32  0.0  0.0      0     0 ?        S    19:59   0:00 [watchdog/4]
root        33  0.0  0.0      0     0 ?        S    19:59   0:00 [migration/4]
root        34  0.0  0.0      0     0 ?        S    19:59   0:00 [ksoftirqd/4]
root        35  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/4:0]
root        36  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/4:0H]
root        37  0.0  0.0      0     0 ?        S    19:59   0:00 [cpuhp/5]
root        38  0.0  0.0      0     0 ?        S    19:59   0:00 [watchdog/5]
root        39  0.0  0.0      0     0 ?        S    19:59   0:00 [migration/5]
root        40  0.0  0.0      0     0 ?        S    19:59   0:00 [ksoftirqd/5]
root        41  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/5:0]
root        42  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/5:0H]
root        43  0.0  0.0      0     0 ?        S    19:59   0:00 [cpuhp/6]
root        44  0.0  0.0      0     0 ?        S    19:59   0:00 [watchdog/6]
root        45  0.0  0.0      0     0 ?        S    19:59   0:00 [migration/6]
root        46  0.0  0.0      0     0 ?        S    19:59   0:00 [ksoftirqd/6]
root        47  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/6:0]
root        48  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/6:0H]
root        49  0.0  0.0      0     0 ?        S    19:59   0:00 [cpuhp/7]
root        50  0.0  0.0      0     0 ?        S    19:59   0:00 [watchdog/7]
root        51  0.0  0.0      0     0 ?        S    19:59   0:00 [migration/7]
root        52  0.0  0.0      0     0 ?        S    19:59   0:00 [ksoftirqd/7]
root        53  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/7:0]
root        54  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/7:0H]
root        55  0.0  0.0      0     0 ?        S    19:59   0:00 [kdevtmpfs]
root        56  0.0  0.0      0     0 ?        I<   19:59   0:00 [netns]
root        57  0.0  0.0      0     0 ?        S    19:59   0:00 [rcu_tasks_kthre]
root        58  0.0  0.0      0     0 ?        S    19:59   0:00 [kauditd]
root        59  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/0:1]
root        60  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/1:1]
root        61  0.0  0.0      0     0 ?        S    19:59   0:00 [khungtaskd]
root        62  0.0  0.0      0     0 ?        S    19:59   0:00 [oom_reaper]
root        63  0.0  0.0      0     0 ?        I<   19:59   0:00 [writeback]
root        64  0.0  0.0      0     0 ?        S    19:59   0:00 [kcompactd0]
root        65  0.0  0.0      0     0 ?        SN   19:59   0:00 [ksmd]
root        66  0.0  0.0      0     0 ?        SN   19:59   0:00 [khugepaged]
root        67  0.0  0.0      0     0 ?        I<   19:59   0:00 [crypto]
root        68  0.0  0.0      0     0 ?        I<   19:59   0:00 [kintegrityd]
root        69  0.0  0.0      0     0 ?        I<   19:59   0:00 [kblockd]
root        70  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/3:1]
root        71  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/4:1]
root        72  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/5:1]
root        73  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/6:1]
root        74  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/7:1]
root        75  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/2:1]
root        76  0.0  0.0      0     0 ?        I<   19:59   0:00 [ata_sff]
root        77  0.0  0.0      0     0 ?        I<   19:59   0:00 [md]
root        78  0.0  0.0      0     0 ?        I<   19:59   0:00 [edac-poller]
root        79  0.0  0.0      0     0 ?        I<   19:59   0:00 [devfreq_wq]
root        80  0.0  0.0      0     0 ?        I<   19:59   0:00 [watchdogd]
root        81  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/u16:1]
root        83  0.0  0.0      0     0 ?        S    19:59   0:00 [kswapd0]
root        84  0.0  0.0      0     0 ?        S    19:59   0:00 [ecryptfs-kthrea]
root       126  0.0  0.0      0     0 ?        I<   19:59   0:00 [kthrotld]
root       127  0.0  0.0      0     0 ?        I<   19:59   0:00 [acpi_thermal_pm]
root       131  0.0  0.0      0     0 ?        I<   19:59   0:00 [ipv6_addrconf]
root       132  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/2:2]
root       141  0.0  0.0      0     0 ?        I<   19:59   0:00 [kstrp]
root       162  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/u16:2]
root       163  0.0  0.0      0     0 ?        I<   19:59   0:00 [charger_manager]
root       164  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/5:2]
root       209  0.0  0.0      0     0 ?        S    19:59   0:00 [scsi_eh_0]
root       210  0.0  0.0      0     0 ?        I<   19:59   0:00 [scsi_tmf_0]
root       211  0.0  0.0      0     0 ?        S    19:59   0:00 [scsi_eh_1]
root       212  0.0  0.0      0     0 ?        I<   19:59   0:00 [scsi_tmf_1]
root       213  0.0  0.0      0     0 ?        S    19:59   0:00 [scsi_eh_2]
root       214  0.0  0.0      0     0 ?        I<   19:59   0:00 [scsi_tmf_2]
root       215  0.0  0.0      0     0 ?        S    19:59   0:00 [scsi_eh_3]
root       216  0.0  0.0      0     0 ?        I<   19:59   0:00 [scsi_tmf_3]
root       217  0.0  0.0      0     0 ?        S    19:59   0:00 [scsi_eh_4]
root       218  0.0  0.0      0     0 ?        I<   19:59   0:00 [scsi_tmf_4]
root       219  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/u16:3]
root       220  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/u16:4]
root       221  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/u16:5]
root       223  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/u16:6]
root       227  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/6:1H]
root       228  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/u17:0]
root       229  0.0  0.0      0     0 ?        S    19:59   0:00 [i915/signal:0]
root       230  0.0  0.0      0     0 ?        S    19:59   0:00 [i915/signal:1]
root       231  0.0  0.0      0     0 ?        S    19:59   0:00 [i915/signal:2]
root       232  0.0  0.0      0     0 ?        S    19:59   0:00 [i915/signal:4]
root       233  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/6:2]
root       255  0.0  0.0      0     0 ?        S    19:59   0:00 [jbd2/sda3-8]
root       256  0.0  0.0      0     0 ?        I<   19:59   0:00 [ext4-rsv-conver]
root       282  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/7:1H]
root       283  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/1:1H]
root       291  0.0  0.0  35396  4404 ?        Ss   19:59   0:00 /lib/systemd/systemd-journald
root       297  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/7:2]
root       299  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/6:3]
root       302  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/0:1H]
root       303  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/0:2]
root       317  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/3:2]
root       318  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/2:1H]
root       322  0.0  0.0  45864  4688 ?        Ss   19:59   0:00 /lib/systemd/systemd-udevd
root       363  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/4:2]
root       390  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/1:2]
root       397  0.0  0.0      0     0 ?        S    19:59   0:00 [irq/126-mei_me]
root       481  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/3:3]
root       497  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/3:1H]
root       533  0.0  0.0      0     0 ?        I    19:59   0:00 [kworker/3:4]
root       534  0.0  0.0      0     0 ?        I<   19:59   0:00 [kworker/5:1H]
root       541  0.0  0.0      0     0 ?        S    20:00   0:00 [nvidia-modeset]
root       657  0.0  0.0      0     0 ?        I<   20:00   0:00 [kworker/4:1H]
systemd+   696  0.0  0.0 102384  2564 ?        Ssl  20:00   0:00 /lib/systemd/systemd-timesyncd
root       772  0.0  0.0  36076  2984 ?        Ss   20:00   0:00 /usr/sbin/cron -f
root       775  0.0  0.0 173500  8556 ?        Ssl  20:00   0:00 /usr/sbin/thermald --no-daemon --dbus-enable
root       776  0.0  0.1 364716 25240 ?        Ssl  20:00   0:00 /usr/lib/snapd/snapd
syslog     778  0.0  0.0 256392  3408 ?        Ssl  20:00   0:00 /usr/sbin/rsyslogd -n
avahi      780  0.0  0.0  44784  3304 ?        Ss   20:00   0:00 avahi-daemon: running [pc-2.local]
message+   781  0.0  0.0  44248  5096 ?        Ss   20:00   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
avahi      829  0.0  0.0  44784   340 ?        S    20:00   0:00 avahi-daemon: chroot helper
root       830  0.0  0.0 456476 16208 ?        Ssl  20:00   0:00 /usr/sbin/NetworkManager --no-daemon
root       831  0.0  0.0  28628  3124 ?        Ss   20:00   0:00 /lib/systemd/systemd-logind
root       837  0.0  0.0   4396  1228 ?        Ss   20:00   0:00 /usr/sbin/acpid
root       839  0.0  0.0 283348  6740 ?        Ssl  20:00   0:00 /usr/lib/accountsservice/accounts-daemon
root       846  0.0  0.0 100300  7572 ?        Ss   20:00   0:00 /usr/sbin/cupsd -l
root       850  0.0  0.0 274816  9320 ?        Ssl  20:00   0:00 /usr/sbin/cups-browsed
root       925  0.0  0.0 276648  6064 ?        Ssl  20:00   0:00 /usr/sbin/lightdm
root       933  0.0  0.0  19472   248 ?        Ss   20:00   0:00 /usr/sbin/irqbalance --pid=/var/run/irqbalance.pid
lp         939  0.0  0.0  81244  5592 ?        S    20:00   0:00 /usr/lib/cups/notifier/dbus dbus://
lp         940  0.0  0.0  81244  5596 ?        S    20:00   0:00 /usr/lib/cups/notifier/dbus dbus://
lp         941  0.0  0.0  81244  5552 ?        S    20:00   0:00 /usr/lib/cups/notifier/dbus dbus://
lp         942  0.0  0.0  81244  5592 ?        S    20:00   0:00 /usr/lib/cups/notifier/dbus dbus://
lp         943  0.0  0.0  81244  5596 ?        S    20:00   0:00 /usr/lib/cups/notifier/dbus dbus://
root       961  0.0  0.0  65512  5744 ?        Ss   20:00   0:00 /usr/sbin/sshd -D
root       968  0.0  0.0 289348  8912 ?        Ssl  20:00   0:00 /usr/lib/policykit-1/polkitd --no-debug
root       998  0.8  0.3 380740 60768 tty7     Ssl+ 20:00   0:01 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswi
root      1010  0.0  0.0 228268  6556 ?        Sl   20:00   0:00 lightdm --session-child 12 15
cs        1015  0.0  0.0  45280  4656 ?        Ss   20:00   0:00 /lib/systemd/systemd --user
cs        1016  0.0  0.0  63464  2080 ?        S    20:00   0:00 (sd-pam)
cs        1019  0.0  0.0  53708  4940 ?        Ss   20:00   0:00 /sbin/upstart --user
root      1067  0.0  0.0  16128  3700 ?        S    20:00   0:00 /sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /var/run/dhclient-enp0s31f6.p
cs        1102  0.0  0.0  39996   276 ?        S    20:00   0:00 upstart-udev-bridge --daemon --user
nobody    1110  0.0  0.0  59936  4128 ?        S    20:00   0:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/r
cs        1117  0.1  0.0  43680  4044 ?        Ss   20:00   0:00 dbus-daemon --fork --session --address=unix:abstract=/tmp/dbus-YA5xN3ielC
cs        1142  0.0  0.0  93412  8928 ?        Ss   20:00   0:00 /usr/lib/x86_64-linux-gnu/hud/window-stack-bridge
cs        1190  0.0  0.0  39900   324 ?        S    20:00   0:00 upstart-dbus-bridge --daemon --session --user --bus-name session
cs        1191  0.0  0.0  48524  2036 ?        S    20:00   0:00 upstart-file-bridge --daemon --user
cs        1193  0.0  0.0  39900   336 ?        S    20:00   0:00 upstart-dbus-bridge --daemon --system --user --bus-name system
cs        1194  0.0  0.0 212560  7064 ?        SLl  20:00   0:00 gnome-keyring-daemon --start --components ssh
cs        1209  0.1  0.5 575980 83140 ?        Sl   20:00   0:00 /usr/bin/fcitx
cs        1215  0.0  0.0  43028  3280 ?        Ss   20:00   0:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --config-file /usr/share/fcitx/dbus/d
cs        1219  0.0  0.0  27636   236 ?        SN   20:00   0:00 /usr/bin/fcitx-dbus-watcher unix:abstract=/tmp/dbus-XuPKCFIYmR,guid=6658bb8c5d44d86a386dc0e05c864
cs        1225  0.0  0.1 445800 22136 ?        Sl   20:00   0:00 /usr/lib/x86_64-linux-gnu/notify-osd
cs        1325  0.0  0.1 530960 27052 ?        Ssl  20:00   0:00 /usr/lib/x86_64-linux-gnu/bamf/bamfdaemon
cs        1358  0.0  0.0 173748   720 ?        Ss   20:00   0:00 gpg-agent --homedir /home/cs/.gnupg --use-standard-socket --daemon
cs        1367  0.0  0.0 338004  5708 ?        Sl   20:00   0:00 /usr/lib/at-spi2-core/at-spi-bus-launcher
cs        1376  0.0  0.0  42896  3820 ?        S    20:00   0:00 /usr/bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.conf --nofork --print-address 3
cs        1379  0.0  0.0 206864  6368 ?        Sl   20:00   0:00 /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
cs        1385  0.0  0.0 281748  6620 ?        Sl   20:00   0:00 /usr/lib/gvfs/gvfsd
cs        1390  0.0  0.0 406864  4876 ?        Sl   20:00   0:00 /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes
cs        1415  0.0  0.2 601372 41572 ?        Ssl  20:00   0:00 /usr/lib/x86_64-linux-gnu/hud/hud-service
cs        1417  0.0  0.1 918528 30352 ?        Ssl  20:00   0:00 /usr/lib/unity-settings-daemon/unity-settings-daemon
cs        1425  0.0  0.0 558292 14936 ?        Ssl  20:00   0:00 /usr/lib/gnome-session/gnome-session-binary --session=ubuntu
cs        1436  0.0  0.1 570128 29408 ?        Ssl  20:00   0:00 /usr/lib/x86_64-linux-gnu/unity/unity-panel-service
cs        1474  0.0  0.0 178796  4768 ?        Sl   20:00   0:00 /usr/lib/dconf/dconf-service
root      1478  0.0  0.0 354396 10124 ?        Ssl  20:00   0:00 /usr/lib/upower/upowerd
cs        1480  0.0  0.0 361772  7592 ?        Ssl  20:00   0:00 /usr/lib/x86_64-linux-gnu/indicator-messages/indicator-messages-service
cs        1481  0.0  0.0 340716  5684 ?        Ssl  20:00   0:00 /usr/lib/x86_64-linux-gnu/indicator-bluetooth/indicator-bluetooth-service
cs        1482  0.0  0.0 501848  8264 ?        Ssl  20:00   0:00 /usr/lib/x86_64-linux-gnu/indicator-power/indicator-power-service
cs        1483  0.0  0.1 1240476 16908 ?       Ssl  20:00   0:00 /usr/lib/x86_64-linux-gnu/indicator-datetime/indicator-datetime-service
cs        1484  0.0  0.1 657088 28180 ?        Ssl  20:00   0:00 /usr/lib/x86_64-linux-gnu/indicator-keyboard/indicator-keyboard-service --use-gtk
cs        1485  0.0  0.0 671020 11496 ?        Ssl  20:00   0:00 /usr/lib/x86_64-linux-gnu/indicator-sound/indicator-sound-service
cs        1486  0.0  0.1 555020 24436 ?        Ssl  20:00   0:00 /usr/lib/x86_64-linux-gnu/indicator-printers/indicator-printers-service
cs        1487  0.0  0.0 894668  6584 ?        Ssl  20:00   0:00 /usr/lib/x86_64-linux-gnu/indicator-session/indicator-session-service
cs        1488  0.0  0.0 403148 13040 ?        Ssl  20:00   0:00 /usr/lib/x86_64-linux-gnu/indicator-application/indicator-application-service
cs        1556  1.0  0.6 1368796 104476 ?      Ssl  20:00   0:01 compiz
colord    1569  0.0  0.0 308468 11048 ?        Ssl  20:00   0:00 /usr/lib/colord/colord
cs        1574  0.0  0.0 516340 12104 ?        S<l  20:00   0:00 /usr/bin/pulseaudio --start --log-target=syslog
rtkit     1575  0.0  0.0 183544  3036 ?        SNsl 20:00   0:00 /usr/lib/rtkit/rtkit-daemon
cs        1579  0.0  0.1 635916 24072 ?        Sl   20:00   0:00 /usr/lib/evolution/evolution-source-registry
cs        1595  0.0  0.3 870520 60536 ?        Sl   20:00   0:00 /usr/lib/evolution/evolution-calendar-factory
whoopsie  1597  0.0  0.0 448968 15148 ?        Ssl  20:00   0:00 /usr/bin/whoopsie -f
root      1603  0.0  0.0  23004  1800 tty1     Ss+  20:00   0:00 /sbin/agetty --noclear tty1 linux
cs        1619  0.0  0.0 292840  7924 ?        Sl   20:00   0:00 /usr/lib/gvfs/gvfs-udisks2-volume-monitor
root      1622  0.0  0.0 366912  7896 ?        Ssl  20:00   0:00 /usr/lib/udisks2/udisksd --no-debug
cs        1636  0.0  0.0 410848  8688 ?        Sl   20:00   0:00 /usr/lib/gvfs/gvfs-afc-volume-monitor
cs        1642  0.0  0.0 266728  4524 ?        Sl   20:00   0:00 /usr/lib/gvfs/gvfs-mtp-volume-monitor
cs        1649  0.0  0.0 278924  4960 ?        Sl   20:00   0:00 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
cs        1650  0.0  0.3 873324 50172 ?        Sl   20:00   0:00 /usr/lib/evolution/evolution-calendar-factory-subprocess --factory local --bus-name org.gnome.evo
cs        1659  0.0  0.3 823540 50772 ?        Sl   20:00   0:00 /usr/lib/evolution/evolution-calendar-factory-subprocess --factory contacts --bus-name org.gnome.
cs        1669  0.0  0.1 697992 18836 ?        Sl   20:00   0:00 /usr/lib/evolution/evolution-addressbook-factory
cs        1682  0.0  0.1 775788 21996 ?        Sl   20:00   0:00 /usr/lib/evolution/evolution-addressbook-factory-subprocess --factory local --bus-name org.gnome.
cs        1687  0.0  0.0 264764  5200 ?        Sl   20:00   0:00 /usr/lib/gvfs/gvfs-goa-volume-monitor
cs        1708  0.2  0.4 1298516 67408 ?       Sl   20:00   0:00 /usr/bin/nautilus --gapplication-service
cs        1710  0.0  0.0 357932  6096 ?        Sl   20:00   0:00 /usr/lib/gvfs/gvfsd-trash --spawner :1.12 /org/gtk/gvfs/exec_spaw/0
cs        1756  0.0  0.1 584508 20224 ?        Sl   20:00   0:00 /usr/lib/unity-settings-daemon/unity-fallback-mount-helper
cs        1758  0.0  0.2 616696 39800 ?        Sl   20:00   0:00 nm-applet
cs        1761  0.2  0.4 745560 77880 ?        SLl  20:00   0:00 /usr/bin/gnome-software --gapplication-service
cs        1763  0.0  0.2 612644 46476 ?        Sl   20:00   0:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
cs        1808  0.0  0.0  68532  5520 ?        S    20:00   0:00 /usr/lib/x86_64-linux-gnu/gconf/gconfd-2
cs        1814  0.3  0.6 3239396 104556 ?      Sl   20:00   0:00 sogou-qimpanel
cs        1860  0.0  0.1 638820 27952 ?        S    20:00   0:00 sogou-qimpanel-watchdog
cs        1907  0.0  0.0 193208  5672 ?        Sl   20:00   0:00 /usr/lib/gvfs/gvfsd-metadata
cs        1929  0.0  0.0   4504   784 ?        S    20:00   0:00 /bin/sh -c /usr/lib/x86_64-linux-gnu/zeitgeist/zeitgeist-maybe-vacuum; /usr/bin/zeitgeist-daemon
cs        1933  0.0  0.0 405500  6408 ?        Sl   20:00   0:00 /usr/bin/zeitgeist-daemon
cs        1940  0.0  0.0 310832  9568 ?        Sl   20:00   0:00 /usr/lib/x86_64-linux-gnu/zeitgeist-fts
cs        1947  0.0  0.0 477336 15916 ?        Sl   20:00   0:00 zeitgeist-datahub
cs        2437  0.5  0.2 615732 42660 ?        Sl   20:00   0:00 /usr/lib/gnome-terminal/gnome-terminal-server
cs        2442  0.0  0.0  29824  5592 pts/6    Ss+  20:00   0:00 bash
cs        2487  0.0  0.2 551292 32676 ?        Sl   20:01   0:00 update-notifier
cs        2525  0.0  0.0 442812  6776 ?        Sl   20:02   0:00 /usr/lib/x86_64-linux-gnu/deja-dup/deja-dup-monitor
root      2551  0.2  0.0  94928  6940 ?        Ss   20:03   0:00 sshd: cs [priv]
cs        2600  0.0  0.0  94928  3416 ?        R    20:03   0:00 sshd: cs@pts/2
cs        2601  1.0  0.0  29552  4964 pts/2    Ss   20:03   0:00 -bash
cs        2618  0.0  0.0  44432  3328 pts/2    R+   20:03   0:00 ps aux

参数解析

USER 表示进程的所有者
PID 是进程
%CPU 表示占用CPU的百分比
%MEM 表示占用内存的百分比
VSZ 表示占用虚拟内存的数量
RSS 表示驻留内存的数量
TTY 表示进程的控制终端(值“?”说明该进程与控制端没有关联)
STAT 表示进程的运行状态(R表示就绪状态,S是可以中断的休眠状态,D是不可中断的休眠状态,T是暂停执行,Z表示不存在但暂时无法消除,W表示无足够内存页面可分配,<表示高优先级,N表示低优先级,L表示内存页面被锁定,s表示创建会话的进程,I表示多线程进程,+表示是一个前台进程组)
START 是进程开始的时间
TIME 是进程已经执行的时间
COMMAND 是进程对应的程序名称和运行参数

*通常情况下系统中运行的进程很多,可使用管道操作符和less(或 more )命令来查看。

ps aux | less

还可以使用grep 命令查找特定进程。若要查看各进程的继承关系,使用pstree命令

ps aux | pstree | less

top 命令,用于动态显示系统进程信息,可以每隔一段时间刷新当前状态,还提供一组交互式命令用于进程的监控。

命令如下:

top [选项]

参数

选项 作用
-d 指定每两次屏幕信息刷新之间的时间间隔,默认为5s
-s 表示top命令在安全模式中运行,不能使用交互命令
-c 表示显示整个命令行,而不是只显示命令名

*如果是在前台执行该命令,它将独占前台,直到用户终止该程序为止。
一些交互命令
按空格刷新显示
按ctrl+l键擦除并且重写

小示例:

top

输出如下:

cy@cy:~$ top
top - 21:01:23 up 6 min,  1 user,  load average: 0.00, 0.17, 0.12
Tasks: 165 total,   1 running,  99 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 16285788 total, 15561564 free,   170324 used,   553900 buff/cache
KiB Swap:  1999868 total,  1999868 free,        0 used. 15797716 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                 2089 cy        20   0   43540   4008   3388 R 100.0  0.0   0:00.07 top                                                                     1 root      20   0  185428   6084   4040 S   0.0  0.0   0:01.44 systemd                                                                 2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd                                                                4 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/0:0H                                                            5 root      20   0       0      0      0 I   0.0  0.0   0:00.03 kworker/u16:0                                                           6 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 mm_percpu_wq                                                            7 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/0                                                             8 root      20   0       0      0      0 I   0.0  0.0   0:00.04 rcu_sched                                                               9 root      20   0       0      0      0 I   0.0  0.0   0:00.00 rcu_bh                                                                  10 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/0                                                             11 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/0                                                              12 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/0                                                                 13 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/1                                                                 14 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/1                                                              15 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/1                                                             16 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/1                                                             18 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/1:0H                                                            19 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/2                                                                 20 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/2                                                              21 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/2                                                             22 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/2                                                             24 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/2:0H                                                            25 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/3                                                                 26 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 watchdog/3                                                              27 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/3                                                             28 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/3                                                             

参数解析

参数 作用
PID 进程号
USER 所有者
PR 优先级
NI 表示nicc值(负值表示高优先级,正值表示低优先级)
VIRT 表示进程使用的虚拟内存总量(单位kb)
RES 表示进程使用的、未被换出的物理内存大小(kb)
SHR 表示共享内存大小
S 表示进程状态
%CPU CPU使用率
%MEM 内存使用率
TIME+ 表示进程使用的CPU时间总计(单位1/100秒)
COMMAND 是进程对应的程序名称和运行参数

27.查看当前目录下各个文件及目录占用空间大小

du -sh *
du -sh anaconda3

28.文件查找
find命令用于在硬盘上查找文件,格式如下:

find [选项] 文件名
-name name 查找包含该名字的文件
-amin n 查找n分钟以前被访问过的所有文件
-atime n 查找n天以前被访问过的所有文件

例:

find / -name cuda

这个命令表示在 /(根目录下) 查找 名字包含 cuda的文件和文件夹

29.查看文件详细信息
使用stat命令

stat repository/

输出文件的状态

  文件:repository/大小:4096        块:8          IO 块:4096   目录
设备:807h/2055d    Inode:9308546     硬链接:27
权限:(0775/drwxrwxr-x)  Uid:( 1000/     zhw)   Gid:( 1000/     zhw)
最近访问:2019-04-09 17:58:59.536270356 +0800
最近更改:2019-04-09 09:01:24.969602992 +0800
最近改动:2019-04-09 09:01:24.969602992 +0800
创建时间:-

打印文件系统状态

stat -f repository/

输出

  文件:"repository/"ID:cc944d2916639f3 文件名长度:255     类型:ext2/ext3
块大小:4096       基本块大小:4096块:总计:100338254  空闲:98476367   可用:93362025
Inodes: 总计:25559040   空闲:25451881

30.显示系统整体文件系统的磁盘使用情况

df -h

输出

文件系统        容量  已用  可用 已用% 挂载点
udev            1.9G     0  1.9G    0% /dev
tmpfs           391M  1.6M  389M    1% /run
/dev/sda4        46G  6.2G   38G   15% /
tmpfs           2.0G  7.5M  1.9G    1% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
tmpfs           2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/loop1      4.2M  4.2M     0  100% /snap/gnome-calculator/352
/dev/loop3      3.8M  3.8M     0  100% /snap/gnome-system-monitor/70
/dev/loop0       15M   15M     0  100% /snap/gnome-logs/45
/dev/loop13      35M   35M     0  100% /snap/gtk-common-themes/818
/dev/loop5      3.8M  3.8M     0  100% /snap/gnome-system-monitor/57
/dev/loop2       15M   15M     0  100% /snap/gnome-characters/206
/dev/loop4      1.0M  1.0M     0  100% /snap/gnome-logs/57
/dev/loop8       13M   13M     0  100% /snap/gnome-characters/139
/dev/loop7       90M   90M     0  100% /snap/core/6673
/dev/loop9      2.3M  2.3M     0  100% /snap/gnome-calculator/260
/dev/loop10     141M  141M     0  100% /snap/gnome-3-26-1604/74
/dev/loop14      91M   91M     0  100% /snap/core/6350
/dev/loop15      54M   54M     0  100% /snap/core18/782
/dev/loop11     144M  144M     0  100% /snap/gnome-3-28-1804/23
/dev/loop6      141M  141M     0  100% /snap/gnome-3-26-1604/82
/dev/loop12      36M   36M     0  100% /snap/gtk-common-themes/1198
/dev/sda3       946M  111M  771M   13% /boot
/dev/sda7       383G  7.2G  357G    2% /home
/dev/sda6       9.2G   37M  8.6G    1% /tmp
/dev/sda1       300M  6.2M  294M    3% /boot/efi
tmpfs           391M   24K  391M    1% /run/user/1000

31.Linux的which命令 ,可以在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

查找文件位置、路径

zhw@zhw:~$ which pwd
/bin/pwd

显示命令别名

zhw@zhw:~$ which ls -l
/bin/ls

特殊命令

zhw@zhw:~$ which cd
zhw@zhw:~$

像 cd 命令这种bash内建命令,which命令是搜索不到的。
which命令只能搜索 PATH目录下的可执行命令,并不能识别bash内部的命令,因此,使用 which cd 会报错误信息。

32.显示自身的用户名称,本指令相当于执行"id -un"指令

zhw@zhw:~$ whoami
zhw

33.netstatm命令

主要参数及介绍如下:

-a –all 显示所有连线中的Socket
-A<网络类型> –<网络类型> 列出该网络类型连线中的相关地址
-c –continuous 持续列出网络状态
-C –cache 显示路由器配置的快取信息
-e –extend 显示网络其他相关信息
-F –fib 显示FIB
-g –groups 显示多重广播功能群组组员名单
-h –help 在线帮助
-i –interfaces 显示网络界面信息表单
-l –listening 显示监控中的服务器的Socket
-M –masquerade 显示伪装的网络连线
-n –numeric 直接使用IP地址,而不通过域名服务器
-N –netlink 或 --symbolic 显示网络硬件外围设备的符号连接名称
-o –timers 显示计时器
-p –programs 显示正在使用Socket的程序识别码和程序名称
-r –route 显示Routing Table
-s –statistice 显示网络工作信息统计表
-t –tcp 显示TCP传输协议的连线状况
-u –udp 显示UDP传输协议的连线状况
-v –verbose 显示指令执行过程
-V –version 显示版本信息
-w –raw 显示RAW传输协议的连线状况
-x –unix 此参数的效果和指定"-A unix"参数相同
–ip –inet 此参数的效果和指定"-A inet"参数相同

套接口类型:

-t TCP
-u UDP
-raw RAW类型
–unix UNIX域类型
–ax25 AX25类型
–ipx ipx类型
–netrom netrom类型

状态说明:

SYN-SENT 再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)
SYN-RECEIVED 再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)
ESTABLISHED 代表一个打开的连接
FIN-WAIT-1 等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2 从远程TCP等待连接中断请求
CLOSE-WAIT 等待从本地用户发来的连接中断请求
CLOSING 等待远程TCP对连接中断的确认
LAST-ACK 等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击)
TIME-WAIT 等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED 没有任何连接状态

显示主机所有端口(给出部分输出)

zhw@zhw:~$ netstat -a
激活Internet连接 (服务器和已建立连接的)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN
tcp        0      0 localhost:6011          0.0.0.0:*               LISTEN
tcp        0    208 zhw:ssh                 10.1.10.223:12602       ESTABLISHED
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN
tcp6       0      0 ip6-localhost:6011      [::]:*                  LISTEN
tcp6       0      0 [::]:8828               [::]:*                  LISTEN
udp        0      0 localhost:domain        0.0.0.0:*
udp        0      0 0.0.0.0:bootpc          0.0.0.0:*
udp        0      0 0.0.0.0:39067           0.0.0.0:*
udp        0      0 0.0.0.0:39406           0.0.0.0:*
udp        0      0 0.0.0.0:ipp             0.0.0.0:*
udp        0      0 0.0.0.0:mdns            0.0.0.0:*
udp6       0      0 ip6-localhost:59186     ip6-localhost:43584     ESTABLISHED
udp6       0      0 [::]:55404              [::]:*
udp6       0      0 ip6-localhost:43584     ip6-localhost:59186     ESTABLISHED
udp6       0      0 [::]:39844              [::]:*
udp6       0      0 [::]:mdns               [::]:*
raw        0      0 0.0.0.0:icmp            0.0.0.0:*               7
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7
活跃的UNIX域套接字 (服务器和已建立连接的)
Proto RefCnt Flags       Type       State         I-Node   路径
unix  2      [ ACC ]     流        LISTENING     18865    /run/uuidd/request
unix  2      [ ACC ]     流        LISTENING     26709    /tmp/ssh-j0F3NB5LIHu2/agent.1138
unix  2      [ ACC ]     流        LISTENING     25397    /tmp/.X11-unix/X0
unix  2      [ ACC ]     流        LISTENING     18869    /run/acpid.socket
unix  2      [ ACC ]     流        LISTENING     26939    /tmp/.ICE-unix/1138
unix  2      [ ]         数据报                25027    /run/user/1000/systemd/notify
unix  2      [ ACC ]     SEQPACKET  LISTENING     1002     /run/udev/control

使用 –a 参数可以列出主机所有端口

显示UDP连接状况

zhw@zhw:~$ netstat -nu
激活Internet连接 (w/o 服务器)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp6       0      0 ::1:59186               ::1:43584               ESTABLISHED
udp6       0      0 ::1:43584               ::1:59186               ESTABLISHED

显示UDP端口使用情况

zhw@zhw:~$ netstat -apu
(并非所有进程都能被检测到,所有非本用户的进程信息将不会显示,如果想看到所有信息,则必须切换到 root 用户)
激活Internet连接 (服务器和已建立连接的)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
udp        0      0 localhost:domain        0.0.0.0:*                           -
udp        0      0 0.0.0.0:bootpc          0.0.0.0:*                           -
udp        0      0 0.0.0.0:39067           0.0.0.0:*                           -
udp        0      0 0.0.0.0:39406           0.0.0.0:*                           -
udp        0      0 0.0.0.0:ipp             0.0.0.0:*                           -
udp        0      0 0.0.0.0:mdns            0.0.0.0:*                           -
udp6       0      0 ip6-localhost:59186     ip6-localhost:43584     ESTABLISHED -
udp6       0      0 [::]:55404              [::]:*                              -
udp6       0      0 ip6-localhost:43584     ip6-localhost:59186     ESTABLISHED -
udp6       0      0 [::]:39844              [::]:*                              -
udp6       0      0 [::]:mdns               [::]:*                              -                   

显示网卡列表信息

zhw@zhw:~$ netstat -i
Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
enp5s0    1500     7345      0      0 0          9600      0      0      0 BMRU
lo       65536      487      0      0 0           487      0      0      0 LRU

显示所有TCP端口

zhw@zhw:~$ netstat -at
激活Internet连接 (服务器和已建立连接的)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN
tcp        0      0 localhost:6011          0.0.0.0:*               LISTEN
tcp        0    208 zhw:ssh                 10.1.10.223:12602       ESTABLISHED
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN
tcp6       0      0 ip6-localhost:6011      [::]:*                  LISTEN
tcp6       0      0 [::]:8828               [::]:*                  LISTEN     

显示所有UTP端口

zhw@zhw:~$ netstat -au
激活Internet连接 (服务器和已建立连接的)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp        0      0 localhost:domain        0.0.0.0:*
udp        0      0 0.0.0.0:bootpc          0.0.0.0:*
udp        0      0 0.0.0.0:39067           0.0.0.0:*
udp        0      0 0.0.0.0:39406           0.0.0.0:*
udp        0      0 0.0.0.0:ipp             0.0.0.0:*
udp        0      0 0.0.0.0:mdns            0.0.0.0:*
udp6       0      0 ip6-localhost:59186     ip6-localhost:43584     ESTABLISHED
udp6       0      0 [::]:55404              [::]:*
udp6       0      0 ip6-localhost:43584     ip6-localhost:59186     ESTABLISHED
udp6       0      0 [::]:39844              [::]:*
udp6       0      0 [::]:mdns               [::]:*                             

找出运行在指定端口的进程

zhw@zhw:~$ sudo netstat -anpt | grep ssh
激活Internet连接 (服务器和已建立连接的)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      853/sshd
tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN      3199/sshd: zhw@pts/
tcp        0     36 10.1.7.163:22           10.1.10.223:12602       ESTABLISHED 3134/sshd: zhw [pri
tcp6       0      0 :::22                   :::*                    LISTEN      853/sshd
tcp6       0      0 ::1:6011                :::*                    LISTEN      3199/sshd: zhw@pts/ 

各种奇淫技巧:


vi/vim使用教程
vi/vim使用教程(菜鸟教程)
Ubuntu终端快捷方式
ubuntu 挂载U盘
Linux命令速查手册
Ubuntu Nano命令

ubuntu 是严格区分大小!
附:Lniux 命令大全|菜鸟教程

Ubuntu命令笔记相关推荐

  1. Ubuntu命令笔记(新手入门推荐

    目录 一.Linux基础命令 二.用户和用户组 三.权限管理 四.远程管理 五.系统命令 六.文件查找命令 七.文件操作命令 八.软件管理 九.vim编辑器 持续更新中... 一.Linux基础命令 ...

  2. ubuntu 命令笔记

    使用 putty 客户端与服务端传文件 ubuntu 下载到 windows pscp jonee@192.168.13.132:/home/jonee/.ssh/id_rsa D:/Ddata/ w ...

  3. Ubuntu打印机控制命令笔记

    Ubuntu打印机控制命令笔记 Ubuntu打印机控制命令笔记 检查打印机状态,及打印工作顺序编号和使用者名称 ******************************************** ...

  4. Ubuntu学习笔记:使用命令查看当前登录系统的用户信息

    Ubuntu学习笔记:使用命令查看当前登录系统的用户信息 1 查看当前登录的用户名 2 查看当前登录的用户名.终端类型.时间.IP地址 3 服务器连接的所有用户及正在使用的进程 4 显示系统中有哪些使 ...

  5. Ubuntu学习笔记:使用命令查询系统开机信息

    Ubuntu学习笔记:使用命令查询系统开机信息 dmesg

  6. Tcl Tutorial 笔记 ·ubuntu命令行运行tcl 命令

    ubuntu 安装tcl : sudo apt-get install tcl 在ubuntu命令行运行tcl 命令: usually via running "tclsh" or ...

  7. ubuntu 命令行批量重命名文件夹

    ubuntu 命令行批量rename文件夹 文件夹的命名有错(e.g., 1234./)由于有这个点(.)导致这些文件夹不能移动,因此想批量改文件夹名字.觉得理论上一行命令行是可以解决的,但搜索后发现 ...

  8. 我的Linux(ubuntu)自学笔记分享

    ** 我的Linux(ubuntu)自学笔记分享 本人自学Linux有了好长一段时间,从最开始的无从下手.一窍不通到现在已经有很大的进步了.所以分享一下学习方法,第一最好买一本Linux书系统的学一下 ...

  9. php oracle创建临时表,Oracle常用命令笔记

    Oracle常用命令笔记 客户端用的pl/sql工具 ORACLE的重启命令 (1) 以系统管理员登录,命令:connect / as sysdba (2) 启动数据库,命令:startup (3) ...

最新文章

  1. Table doesn't have a primary key
  2. 不提供账号注销等于耍流氓
  3. 为什么Tomcat的webapps目录下新建的目录不能访问html文件?
  4. boost::mpl模块实现unpack_args相关的测试程序
  5. php serialize取值,PHP 序列化(serialize)格式详解
  6. C语言试题七十一之请编写函数求出这个数的阶乘
  7. Struts2的Interceptor和Listener以及Plugin
  8. POJ 1459 Power Network
  9. 13个非常实用的JavaScript小技巧
  10. angularjs compile和link
  11. 【转】gem install libv8 错误
  12. WCF服务编程-非WCF应用程序使用WCF服务
  13. gun linux定义,linux gun make 入门
  14. [BZOJ5334][TJOI2018]数学计算(exgcd/线段树)
  15. source insight 导入JDK源码
  16. 编译原理-第四版-刘铭---期末复习
  17. 架构之美-读书笔记之二
  18. MyBatis注册映射文件(resource、class、package 三者区别)
  19. linux压缩文件命令_Linux 系统压缩和解压 zip 格式文件
  20. IIC总线最多能接几个设备

热门文章

  1. 迪赛智慧数——其他图表(平行坐标图):世界杯历史个人进球排名TOP10
  2. 破解Linux的root密码
  3. c语言blackjack设计思路,Veriog——简易的BlackJack(21点)程序
  4. Java实现QQ第三方登录
  5. databricks使用教程
  6. 使用Databricks作为分析平台
  7. unity3D游戏开发实战原创视频讲座系列13之帽子戏法游戏开发(预告)
  8. ios android 占有率,Android全球占有率28.4% 超iOS一倍
  9. perl中子程序中参数的两种引用(传递)方式:pass by value and pass by Reference(传入引用)
  10. 阿里云服务器通用型g7a实例AMD处理器CPU及网络性能说明