学做PPT报告的网站,惠州建设银行行号查询网站,广西施工员证书查询,电商运营和网站运营对比1.目录结构
2.history游览历史
3.命令行中的ctrl组合键
4.列出目录的内容
5.修改文件权限chmod
6.文件内容查看
文件管理
7.输出重定向#xff1a;
8.管道#xff1a;|
9.清屏#xff1a;clear
10.显示当前路径#xff1a;pwd
11.创建目录#xff1a;mkdir…1.目录结构
2.history游览历史
3.命令行中的ctrl组合键
4.列出目录的内容
5.修改文件权限chmod
6.文件内容查看
文件管理
7.输出重定向
8.管道|
9.清屏clear
10.显示当前路径pwd
11.创建目录mkdir
12.删除文件rm
13.建立链接文件ln -s
14.文本搜索grep
15.查找文件find
16.拷贝文件cp
17.移动文件mv
18.归档管理tar
19.文件压缩解压gzip、bzip2
20.文件压缩解压zip、unzip
21.查看命令位置which
用户和用户组管理
22.查看登录用户who
23.退出登录账户 exit
24.添加用户账号useradd
25.修改用户usermod
26.设置用户密码passwd
27.删除用户userdel
28.切换用户su
29.以root身份执行指令sudo
30.添加、删除组账号groupadd、groupdel
31.用户组管理groupmod
系统管理
32.查看当前日历cal
33.显示或设置时间date
34.查看网络状态netstat\
35.查看进程信息ps
36.动态显示linux进程top
37.终止进程kill
38.关机重启reboot、shutdown、init
39.查看或配置网卡信息ifconfig
40.测试远程主机连通性ping
Linux磁盘管理
41.检测磁盘空间df
42.检测目录所占磁盘空间du
43.分区表操作工具
44.磁盘检验fsck
45.检查和维护不一致的文件系统fsck
46.磁盘挂载与卸除mount/umount
Linux管道命令
47.统计字数wc
48.列选取命令cut
49. 行选取命令grep
50.排序sort
51.去重uniq
52.同时输出多个文件tee
53.替换指定的字符tr
54.文件按行连接join
55.文件切割split
56.参数代换xargs 1.目录结构 /根目录一般根目录下只存放目录在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”你其实是在告诉电脑先从/根目录开始再进入到home目录。 /bin /usr/bin 可执行二进制文件的目录如常用的命令ls、tar、mv、cat等。/boot放置linux系统启动时用到的一些文件如Linux的内核文件/boot/vmlinuz系统引导管理器/boot/grub。/dev存放linux系统下的设备文件访问该目录下某个文件相当于访问某个设备常用的是挂载光驱 mount /dev/cdrom /mnt。 /etc系统配置文件存放的目录不建议在此目录下存放可执行文件重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。/home系统默认的用户家目录新增用户账号时用户的家目录都存放在此目录下表示当前用户的家目录edu 表示用户 edu 的家目录。 /lib: /usr/lib: /usr/local/lib 系统使用的函数库的目录程序在执行过程中需要调用一些额外的参数时需要函数库的协助。/lostfount系统异常产生错误时会将一些遗失的片段放置于此目录下 /mnt: /media光盘默认挂载点通常光盘挂载于 /mnt/cdrom 下也不一定可以选择任意位置进行挂载。/opt给主机额外安装软件所摆放的目录。/proc此目录的数据都在内存中如系统核心外部设备网络状态由于数据都存放于内存中所以不占用磁盘空间比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。/root系统管理员root的家目录。 /sbin /usr/sbin /usr/local/sbin 放置系统管理员使用的可执行命令如fdisk、shutdown、mount 等。与 /bin 不同的是这几个目录是给系统管理员 root使用的命令一般用户只能查看而不能设置和使用。/tmp一般用户或正在执行的程序临时存放文件的目录任何人都可以访问重要数据不可放置在此目录下。/srv服务启动之后需要访问的数据目录如 www 服务需要访问的网页数据存放在 /srv/www 内。/usr应用程序存放目录usr/bin 存放应用程序/usr/share 存放共享数据/usr/lib 存放不能直接运行的却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录。/var放置系统执行过程中经常变化的文件如随时更改的日志文件 /var/log/var/log/message所有的登录文件存放目录/var/spool/mail邮件存放的目录/var/run:程序或服务启动后其PID存放在该目录下。 2.history游览历史
history N 显示最近N条命令history -c 清除所有的历史记录history -w xxx.txt 保存历史记录到文本xxx.txt 3.命令行中的ctrl组合键
Ctrlc 结束正在运行的程序Ctrld 结束输入或退出shellCtrls 暂停屏幕输出【锁住终端】Ctrlq 恢复屏幕输出【解锁终端】Ctrll 清屏【是字母L的小写】等同于Clear当前光标到行首ctrla当前光标到行尾ctrle删除当前光标到行首ctrlu删除当前光标到行尾ctrlkCtrly 在光标处粘贴剪切的内容Ctrlr 查找历史命令【输入关键字就能调出以前执行过的命令】Ctrlt 调换光标所在处与其之前字符位置并把光标移到下个字符Ctrlxu 撤销操作Ctrlz 转入后台运行 4.列出目录的内容 Linux文件或者目录名称最长可以有265个字符“.”代表当前目录“…”代表上一级目录以“.”开头的文件为隐藏文件需要用 -a 参数才能显示。
参数含义-a显示指定目录下所有子目录与文件包括隐藏文件-l以列表方式显示文件的详细信息-h配合 -l 以人性化的方式显示文件大小 列出的信息的含义 第1个字母代表文件的类型 “d” 代表文件夹 “-” 代表普通文件 “c” 代表硬件字符设备 “b” 代表硬件块设备 “s”表示管道文件 “l” 代表软链接文件。 5.修改文件权限chmod chmod 修改文件权限有两种使用格式字母法与数字法。 字母法chmod u/g/o/a /-/ rwx 文件 [ u/g/o/a ]含义uuser 表示该文件的所有者ggroup 表示与该文件的所有者属于同一组( group )者即用户组oother 表示其他以外的人aall 表示这三者皆是
[ ± ]含义增加权限-撤销权限设定权限 数字法“rwx” 这些权限也可以用数字来代替
字母说明r读取权限数字代号为 “4”w写入权限数字代号为 “2”x执行权限数字代号为 “1”-不具任何权限数字代号为 “0” 如执行chmod urwx,grx,or filename 就等同于chmod u7,g5,o4 filename chmod 751 file
文件所有者读、写、执行权限同组用户读、执行的权限其它用户执行的权限
chmod 777 file所有用户拥有读、写、执行权限 注意如果想递归所有目录加上相同权限需要加上参数“ -R ”。 如chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限 6.文件内容查看
cat 由第一行开始显示文件内容tac 从最后一行开始显示nl 显示的时候顺道输出行号more 一页一页的显示文件内容less与more 类似但可以往前翻页head 只看头几行tail 只看尾巴几行 1cat
-A 相当于 -vET 的整合选项可列出一些特殊字符而不是空白而已-v 列出一些看不出来的特殊字符-E 将结尾的断行字节 $ 显示出来-T 将 [tab] 按键以 ^I 显示出来-b 列出行号空白行不标行号-n 列出行号连同空白行也会有行号
2less [pagedown]向下翻动一页空白键 向下翻动一页 [pageup] 向上翻动一页 文件管理
7.输出重定向
可将本应显示在终端上的内容保存到指定文件中。
如ls test.txt ( test.txt 如果不存在则创建存在则覆盖其内容 )
注意 输出重定向会覆盖原来的内容输出重定向则会追加到文件的尾部。 8.管道|
管道一个命令的输出可以通过管道做为另一个命令的输入。
“ | ”的左右分为两端从左端写入到右端。 9.清屏clear
clear作用为清除终端上的显示(类似于DOS的cls清屏功能)快捷键Ctrl l ( “l” 为字母 ) 10.显示当前路径pwd
-P 显示出确实的路径而非使用连结 (link) 路径
[rootVM_0_9_centos ~]# cd /var/mail/
[rootVM_0_9_centos mail]# pwd
/var/mail
[rootVM_0_9_centos mail]# pwd -P
/var/spool/mail 11.创建目录mkdir
-m 指定被创建目录的权限而不是根据默认权限 (umask) 设定-p 递归创建所需要的目录
实例-p递归创建目录
[rootwww ~]# cd /tmp
[rootwww tmp]# mkdir test 创建一名为 test 的新目录
[rootwww tmp]# mkdir test1/test2/test3/test4
mkdir: cannot create directory test1/test2/test3/test4:
No such file or directory 没办法直接创建此目录啊
[rootwww tmp]# mkdir -p test1/test2/test3/test4mkdir创建的目录权限默认根据umask得到而-m参数可以指定被创建目录的权限
[rootVM_0_9_centos ~]# mkdir t1
[rootVM_0_9_centos ~]# ll
drwxr-xr-x 2 root root 4096 Nov 22 18:54 t1
[rootVM_0_9_centos ~]# mkdir t2 -m 711
[rootVM_0_9_centos ~]# ll
drwxr-xr-x 2 root root 4096 Nov 22 18:54 t1
drwx--x--x 2 root root 4096 Nov 22 18:54 t212.删除文件rm
可通过rm删除文件或目录。使用rm命令要小心因为文件删除后不能恢复。为了防止文件误删可以在rm后使用-i参数以逐个确认要删除的文件。
参数含义-i以进行交互式方式执行-f强制删除忽略不存在的文件无需提示-r递归地删除目录下的内容删除文件夹时必须加此参数 13.建立链接文件ln -s
软链接ln -s 源文件 链接文件
硬链接ln 源文件 链接文件
软链接类似于Windows下的快捷方式如果软链接文件和源文件不在同一个目录源文件要使用绝对路径不能使用相对路径。
硬链接只能链接普通文件不能链接目录。 两个文件占用相同大小的硬盘空间即使删除了源文件链接文件还是存在所以-s选项是更常见的形式。 14.文本搜索grep
Linux系统中grep命令是一种强大的文本搜索工具grep允许对文本文件进行模式查找。如果找到匹配模式 grep打印包含模式的所有行。
grep一般格式为grep [-选项] 搜索内容串 文件名
在grep命令中输入字符串参数时最好引号或双引号括起来。例如grep a 1.txt。 15.查找文件find
命令含义find ./ -name test.sh查找当前目录下所有名为test.sh的文件find ./ -name ‘*.sh’查找当前目录下所有后缀为.sh的文件find ./ -name “[A-Z]*”查找当前目录下所有以大写字母开头的文件find /tmp -size 2M查找在/tmp 目录下等于2M的文件find /tmp -size 2M查找在/tmp 目录下大于2M的文件find /tmp -size -2M查找在/tmp 目录下小于2M的文件find ./ -size 4k -size -5M查找当前目录下大于4k小于5M的文件find ./ -perm 0777查找当前目录下权限为 777 的文件或目录
常用参数说明 : -perm xxxx权限为 xxxx的文件或目录 -user 按照文件属主来查找文件。 -size n : n单位,b:512位元组的区块,c:字元数,k:kilo bytes,w:二个位元组 -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件避免列出其它文件系统中的文件 -amin n : 在过去 n 分钟内被读取过 -anewer file : 比文件 file 更晚被读取过的文件 -atime n : 在过去n天内被读取过的文件 -cmin n : 在过去 n 分钟内被修改过 -cnewer file :比文件 file 更新的文件 -ctime n : 在过去n天内被修改过的文件 -empty : 空的文件 -gid n or -group name : gid 是 n 或是 group 名称是 name -ipath p, -path p : 路径名称符合 p 的文件ipath 会忽略大小写 -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写 -type 查找某一类型的文件 b - 块设备文件 d - 目录 c - 字符设备文件 p - 管道文件 l - 符号链接文件 f - 普通文件 -exec 命令名{} \ (注意“}”和“\”之间有空格) find实例
显示当前目录中大于20字节并以.c结尾的文件名
find . -name *.c -size 20c 将目前目录其其下子目录中所有一般文件列出
find . -type f将目前目录及其子目录下所有最近 20 天内更新过的文件列出
find . -ctime -20查找/var/log目录中更改时间在7日以前的普通文件并在删除之前询问它们
find /var/log -type f -mtime 7 -ok rm {} \;查找前目录中文件属主具有读、写权限并且文件所属组的用户和其他用户具有读权限的文件
find . -type f -perm 644 -exec ls -l {} \; 查找系统中所有文件长度为0的普通文件并列出它们的完整路径
find / -type f -size 0 -exec ls -l {} \;从根目录查找类型为符号链接的文件并将其删除
find / -type l -exec rm -rf {} \从当前目录查找用户tom的所有文件并显示在屏幕上
find . -user tom在当前目录中查找所有文件以.doc结尾且更改时间在3天以上的文件找到后删除并且给出删除提示
find . -name *.doc -mtime 3 -ok rm {} \;在当前目录下查找所有链接文件并且以长格式显示文件的基本信息
find . -type l -exec ls -l {} \;在当前目录下查找文件名有一个小写字母、一个大写字母、两个数字组成且扩展名为.doc的文件
find . -name [a-z][A-Z][0-9][0-9].doc16.拷贝文件cp
选项含义-a该选项通常在复制目录时使用它保留链接、文件属性并递归地复制目录简单而言保持文件原有属性。-f已经存在的目标文件而不提示-i交互式复制在覆盖目标文件之前将给出提示要求用户确认-r若给出的源文件是目录文件则cp将递归复制该目录下的所有子目录和文件目标文件必须为一个目录名。-v显示拷贝进度-l创建硬链接(hard link)而非复制文件本身-s复制成为符号链接 (symbolic link)相当于批量创建快捷方式-u若 destination 比 source 旧才升级 destination 17.移动文件mv
mv命令用来移动文件或目录也可以给文件或目录重命名。
选项含义-f禁止交互式操作如有覆盖也不会给出提示-i确认交互方式操作如果mv操作将导致对已存在的目标文件的覆盖系统会询问是否重写要求用户回答以避免误覆盖文件-v显示移动进度 18.归档管理tar
此命令可以把一系列文件归档到一个大文件中也可以把档案文件解开以恢复数据。
tar使用格式 tar [参数] 打包文件名 文件
tar命令参数很特殊其参数前面可以使用“-”也可以不使用。
参数含义-c生成档案文件创建打包文件-v列出归档解档的详细过程显示进度-f指定档案文件名称f后面一定是.tar文件所以必须放选项最后-t列出档案中包含的文件-x解开档案文件 注意除了f需要放在参数的最后其它参数的顺序任意。
tar命令中-z选项可以调用gzip实现了一个压缩的功能实行一个先打包后压缩的过程。
压缩用法tar zcvf 压缩包包名 文件1 文件2 …
例如 tar zcvf test.tar.gz 1.c 2.c 3.c 4.c把 1.c 2.c 3.c 4.c 压缩成 test.tar.gz 解压用法 tar zxvf 压缩包包名
pythonubuntu:~/test/code$ ls
new.tar.gz test.tar.gz
pythonubuntu:~/test/code$ tar zxvf new.tar.gz
1.c
2.c
3.c
4.c
pythonubuntu:~/test/code$ ls
1.c 2.c 3.c 4.c new.tar.gz test.tar.gz解压到指定目录-C 解压时可以不指定-z选项
pythonubuntu:~/test/code$ ls number/
pythonubuntu:~/test/code$ tar xvf test.tar.gz -C number/ pythonubuntu:~/test/code$ ls number/
1.c 2.c 3.c 4.c19.文件压缩解压gzip、bzip2
tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件但不压缩用gzip压缩tar打包后的文件其扩展名一般用xxxx.tar.gz。
gzip [选项] 被压缩文件
选项含义-d解压文件-r压缩文件
bzip2命令跟gzip用法类似
压缩用法tar jcvf 压缩包包名 文件…(tar jcvf bk.tar.bz2 *.c)
解压用法tar jxvf 压缩包包名 (tar jxvf bk.tar.bz2) 20.文件压缩解压zip、unzip
通过zip压缩文件的目标文件不需要指定扩展名默认扩展名为zip。
压缩文件zip [-r] 目标文件(没有扩展名) 源文件
解压文件unzip -d 解压后目录文件 压缩文件
pythonubuntu:~/test$ ls
1.txt 2.txt 3.txt test.tar
pythonubuntu:~/test$ zip myzip *.txtadding: 1.txt (stored 0%)adding: 2.txt (stored 0%)adding: 3.txt (stored 0%)
pythonubuntu:~/test$ ls
1.txt 2.txt 3.txt myzip.zip test.tar
pythonubuntu:~/test$ rm -f *.txt *.tar
pythonubuntu:~/test$ ls
myzip.zip
pythonubuntu:~/test$ unzip myzip.zip
Archive: myzip.zipextracting: 1.txt extracting: 2.txt extracting: 3.txt
pythonubuntu:~/test$ ls
1.txt 2.txt 3.txt myzip.zip
pythonubuntu:~/test$ unzip -d dir myzip.zip
Archive: myzip.zipextracting: dir/1.txt extracting: dir/2.txt extracting: dir/3.txt
pythonubuntu:~/test$ ls
1.txt 2.txt 3.txt dir myzip.zip21.查看命令位置which
pythonubuntu:~$ which ls
/bin/ls
pythonubuntu:~$ which sudo
/usr/bin/sudo用户和用户组管理
22.查看登录用户who
who am i
选项含义-m或am I只显示运行who命令的用户名、登录终端和登录时间-q或–count只显示用户的登录账号和登录用户的数量-u在登录时间后显示该用户最后一次操作到当前的时间间隔-u或–heading显示列标题 23.退出登录账户 exit
如果是图形界面退出当前终端
如果是使用ssh远程登录退出登陆账户
如果是切换后的登陆用户退出则返回上一个登陆账号 24.添加用户账号useradd
参数含义-d指定用户登录系统时的主目录-m自动建立目录未指定-d参数时会在/home/{当前用户}目录下建立主目录-g指定组名称 25.修改用户usermod
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等这些选项的意义与useradd命令中的选项一样可以为用户指定新的资源值 。
修改用户所在组usermod -g 用户组 用户名
usermod -g test abc改abc用户的家目录位置usermod -d 家目录 用户名
usermod -d /home/abc abc 26.设置用户密码passwd
超级用户可以为自己和其他用户指定口令普通用户只能用它修改自己的口令。命令的格式为
passwd 选项 用户名
可使用的选项
-l 锁定口令即禁用账号。-u 口令解锁。-d 使账号无口令。-f 强迫用户下次登录时修改口令。
假设当前用户是sam则下面的命令修改该用户自己的口令
$ passwd
Old password:******
New password:*******
Re-enter new password:*******如果是超级用户可以用下列形式指定任何用户的口令
# passwd sam
New password:*******
Re-enter new password:******* 普通用户修改自己的口令时passwd命令会先询问原口令验证后再要求用户输入两遍新口令如果两次输入的口令一致则将这个口令指定给用户而超级用户为用户指定口令时就不需要知道原口令。
为用户指定空口令时执行下列形式的命令
passwd -d sam
此命令将用户 sam 的口令删除这样用户 sam 下一次登录时系统就不再允许该用户登录了。
passwd 命令还可以用 -l(lock) 选项锁定某一用户使其不能登录例如
passwd -l sam 27.删除用户userdel
命令含义userdel abc(用户名)删除abc用户但不会自动删除用户的主目录userdel -r abc(用户名)删除用户同时删除用户的主目录 28.切换用户su
命令含义su切换到root用户su root切换到root用户su -切换到root用户同时切换目录到/rootsu - root切换到root用户同时切换目录到/rootsu 普通用户切换到普通用户su - 普通用户切换到普通用户同时切换普通用户所在的目录 29.以root身份执行指令sudo
sudo命令可以临时获取root权限
使用权限在 /etc/sudoers 中有出现的使用者。 30.添加、删除组账号groupadd、groupdel
pythonubuntu:~/test$ sudo groupadd abc
pythonubuntu:~/test$ sudo groupdel abc
pythonubuntu:~/test$ sudo groupdel abc
groupdel“abc”组不存在 31.用户组管理groupmod
修改用户组的属性使用groupmod命令。其语法如下
groupmod 选项 用户组
-g GID 为用户组指定新的组标识号。-o 与-g选项同时使用用户组的新GID可以与系统已有用户组的GID相同。-n新用户组 将用户组的名字改为新名字 系统管理
32.查看当前日历cal
cal命令用于查看当前日历-y显示整年日历 33.显示或设置时间date 34.查看网络状态netstat\
参数说明 -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参数相同。
常用
[rootbedo19c dbhome_1]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 676/rpcbind
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1316/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1037/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1035/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1209/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 1760/sshd: rootpts
tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 12866/sshd: rootpt
tcp6 0 0 :::5500 :::* LISTEN 7140/tnslsnr
tcp6 0 0 :::24171 :::* LISTEN 13279/ora_d000_orcl
tcp6 0 0 :::111 :::* LISTEN 676/rpcbind
tcp6 0 0 :::1521 :::* LISTEN 7140/tnslsnr
tcp6 0 0 :::22 :::* LISTEN 1037/sshd
tcp6 0 0 ::1:631 :::* LISTEN 1035/cupsd
tcp6 0 0 ::1:25 :::* LISTEN 1209/master
tcp6 0 0 ::1:6010 :::* LISTEN 1760/sshd: rootpts
tcp6 0 0 ::1:6011 :::* LISTEN 12866/sshd: rootpt 35.查看进程信息ps
ps a 显示现行终端机下的所有程序包括其他用户的程序。 ps -A 显示所有程序。 ps c 列出程序时显示每个程序真正的指令名称而不包含路 径参数或常驻服务的标示。 ps -e 此参数的效果和指定A参数相同。 ps e 列出程序时显示每个程序所使用的环境变量。 ps f 用ASCII字符显示树状结构表达程序间的相互关系。 ps -H 显示树状结构表示程序间的相互关系。 ps -N 显示所有的程序除了执行ps指令终端机下的程序之外。 ps s 采用程序信号的格式显示程序状况。 ps u 以用户为主的格式来显示程序状况。 ps x 显示所有程序不以终端机来区分。
选项含义-a显示终端上的所有进程包括其他用户的进程-u显示进程的详细状态-x显示没有控制终端的进程-w显示加宽以便显示更多的信息-r只显示正在运行的进程
常见用法
ps -e 查看所有进程信息瞬时的ps -u root -N 查看所有不是root运行的进程ps ax 显示所有进程状态状态ps -ef |grep xxx 显示含有xxx的进程 36.动态显示linux进程top
top - 08:20:24 up 5 days, 30 min, 3 users, load average: 0.09, 0.53, 0.93
Tasks: 294 total, 2 running, 273 sleeping, 19 stopped, 0 zombie
%Cpu(s): 3.8 us, 5.9 sy, 0.0 ni, 90.1 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st
KiB Mem : 4028440 total, 50236 free, 1389652 used, 2588552 buff/cache
KiB Swap: 8388604 total, 8351288 free, 37316 used. 973264 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND 598 polkitd 20 0 546440 11012 3072 S 8.3 0.3 514:20.03 polkitd 13220 oracle -2 0 2049892 20868 16984 S 2.7 0.5 183:51.58 ora_vktm_orcl 614 dbus 20 0 61924 3344 1308 S 1.7 0.1 77:45.56 dbus-daemon 597 root 20 0 396520 2264 1716 S 1.3 0.1 58:43.64 accounts-daemon 9 root 20 0 0 0 0 R 0.3 0.0 5:18.30 rcu_sched 2210 bedo 20 0 611680 3344 1656 S 0.3 0.1 23:32.30 gsd-account 13213 oracle 20 0 2049888 24428 20540 S 0.3 0.6 0:16.35 ora_pmon_orcl 13230 oracle 20 0 2171460 38608 32172 S 0.3 1.0 1:04.59 ora_scmn_orcl 13240 oracle 20 0 2049884 22140 18252 S 0.3 0.5 23:14.95 ora_vkrm_orcl 13253 oracle 20 0 2049892 40284 35968 S 0.3 1.0 1:13.07 ora_ckpt_orcl 86518 oracle 20 0 2054024 79512 72988 S 0.3 2.0 0:05.46 ora_m001_orcl 91187 root 20 0 0 0 0 S 0.3 0.0 0:00.22 kworker/u256:2
101051 root 20 0 0 0 0 S 0.3 0.0 0:00.02 kworker/0:1
105118 root 20 0 0 0 0 S 0.3 0.0 0:00.03 kworker/u256:0 1 root 20 0 125648 3352 1980 S 0.0 0.1 1:22.38 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.10 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 2:37.64 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 1:05.24 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain 11 root rt 0 0 0 0 S 0.0 0.0 0:04.70 watchdog/0 12 root rt 0 0 0 0 S 0.0 0.0 0:04.65 watchdog/1 13 root rt 0 0 0 0 S 0.0 0.0 1:38.93 migration/1 14 root 20 0 0 0 0 S 0.0 0.0 1:27.96 ksoftirqd/1 16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H 18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs 19 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns 20 root 20 0 0 0 0 S 0.0 0.0 0:00.20 khungtaskd 21 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback 前五行是系统整体的统计信息。 第一行是任务队列信息同 uptime 命令的执行结果。 01:06:48 当前时间 up 1:22 系统运行时间格式为时:分 1 user 当前登录用户数 load average: 0.06, 0.60, 0.48 系统负载即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。 第二、三行为进程和CPU的信息。 当有多个CPU时这些内容可能会超过两行。内容如下 total 进程总数 running 正在运行的进程数 sleeping 睡眠的进程数 stopped 停止的进程数 zombie 僵尸进程数 Cpu(s): 0.3% us 用户空间占用CPU百分比 1.0% sy 内核空间占用CPU百分比 0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比 98.7% id 空闲CPU百分比 0.0% wa 等待输入输出的CPU时间百分比 0.0%hi硬件CPU中断占用百分比 0.0%si软中断占用百分比 0.0%st虚拟机占用百分比 #最后两行为内存信息。内容如下 Mem: 191272k total 物理内存总量 173656k used 使用的物理内存总量 17616k free 空闲内存总量 22052k buffers 用作内核缓存的内存量 Swap: 192772k total 交换区总量 0k used 使用的交换区总量 192772k free 空闲交换区总量 123988k cached 缓冲的交换区总量,内存中的内容被换出到交换区而后又被换入到内存但使用过的交换区尚未被覆盖该数值即为这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。 top 命令通过查看 CPU 的 wa% 值来判断当前磁盘 IO 性能如果这个数值过大很可能是磁盘 IO 太高了当然也可能是其他原因例如网络 IO 过高等 37.终止进程kill
kill命令指定进程号的进程需要配合 ps 使用。
使用格式
kill [-signal] pid 信号值从0到15其中9为绝对终止可以处理一般信号无法终止的进程。 38.关机重启reboot、shutdown、init
命令含义reboot重新启动操作系统shutdown –r now重新启动操作系统shutdown会给别的用户提示shutdown -h now立刻关机其中now相当于时间为0的状态shutdown -h 20:25系统在今天的20:25 会关机shutdown -h 10系统再过十分钟后自动关机init 0关机init 6重启 39.查看或配置网卡信息ifconfig
ifconfig显示所有网卡的信息
pythonubuntu:~$ ifconfig
ens33 Link encap:以太网 硬件地址 00:0c:29:59:65:f2 inet 地址:192.168.40.11 广播:192.168.40.255 掩码:255.255.255.0inet6 地址: fe80::432f:6c4a:f47d:5f6b/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1接收数据包:422794 错误:0 丢弃:0 过载:0 帧数:0发送数据包:208666 错误:0 丢弃:0 过载:0 载波:0碰撞:0 发送队列长度:1000 接收字节:603741383 (603.7 MB) 发送字节:12819550 (12.8 MB)lo Link encap:本地环回 inet 地址:127.0.0.1 掩码:255.0.0.0inet6 地址: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:65536 跃点数:1接收数据包:2248 错误:0 丢弃:0 过载:0 帧数:0发送数据包:2248 错误:0 丢弃:0 过载:0 载波:0碰撞:0 发送队列长度:1 接收字节:497588 (497.5 KB) 发送字节:497588 (497.5 KB)修改ip:
pythonubuntu:~$ sudo ifconfig ens33 192.168.40.10
pythonubuntu:~$ ifconfig ens33
ens33 Link encap:以太网 硬件地址 00:0c:29:59:65:f2 inet 地址:192.168.40.10 广播:192.168.40.255 掩码:255.255.255.0inet6 地址: fe80::432f:6c4a:f47d:5f6b/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1接收数据包:422818 错误:0 丢弃:0 过载:0 帧数:0发送数据包:208692 错误:0 丢弃:0 过载:0 载波:0碰撞:0 发送队列长度:1000 接收字节:603745130 (603.7 MB) 发送字节:12822615 (12.8 MB) 40.测试远程主机连通性ping Linux磁盘管理
Linux磁盘管理常用三个命令为df、du和fdisk。
df列出文件系统的整体磁盘使用量du检查磁盘空间使用量fdisk用于磁盘分区
41.检测磁盘空间df
df命令用于检测文件系统的磁盘空间占用和空余情况可以显示所有文件系统对节点和磁盘块的使用情况。
选项含义-a显示所有文件系统的磁盘使用情况-m以1024字节为单位显示-t显示各指定文件系统的磁盘空间使用情况-T显示文件系统
[rootbedo19c ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 40G 10G 30G 25% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda5 xfs 51G 11G 41G 22% /u01
/dev/sda1 xfs 1014M 156M 859M 16% /boot
tmpfs tmpfs 394M 28K 394M 1% /run/user/1000
/dev/sr0 iso9660 4.2G 4.2G 0 100% /run/media/bedo/CentOS 7 x86_64
tmpfs tmpfs 394M 0 394M 0% /run/user/042.检测目录所占磁盘空间du
du命令用于统计目录或文件所占磁盘空间的大小该命令的执行结果与df类似du更侧重于磁盘的使用状况。
du命令的使用格式如下 du [选项] 目录或文件名
选项含义-a递归显示指定目录中各文件和子目录中文件占用的数据块-s显示指定文件或目录占用的数据块-b以字节为单位显示磁盘占用情况-l计算所有文件大小对硬链接文件计算多次 43.分区表操作工具
[rootbedo19c /]# fdisk -l磁盘 /dev/sda107.4 GB, 107374182400 字节209715200 个扇区
Units 扇区 of 1 * 512 512 bytes
扇区大小(逻辑/物理)512 字节 / 512 字节
I/O 大小(最小/最佳)512 字节 / 512 字节
磁盘标签类型dos
磁盘标识符0x000ac040设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 85985279 41943040 83 Linux
/dev/sda3 85985280 102762495 8388608 82 Linux swap / Solaris
/dev/sda4 102762496 209715199 53476352 5 Extended
/dev/sda5 102764544 209715199 53475328 83 Linux44.磁盘检验fsck
用来检查和维护不一致的文件系统。
若系统掉电或磁盘发生问题可利用fsck命令对文件系统进行检查。 45.检查和维护不一致的文件系统fsck
fsckfile system check用来检查和维护不一致的文件系统。
若系统掉电或磁盘发生问题可利用fsck命令对文件系统进行检查。
fsck [-t 文件系统] [-ACay] 装置名称46.磁盘挂载与卸除mount/umount
Linux 的磁盘挂载使用 mount 命令卸载使用 umount 命令。
磁盘挂载语法
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点Linux管道命令
Linux的管道命令是’|’通过它可以对数据进行连续处理其示意图如下 注意
1管道命令仅处理标准输出对于标准错误输出将忽略
2管道命令右边命令必须能够接收标准输入流命令才行否则传递过程中数据会抛弃。
常用来作为接收数据管道命令有 less,more,head,tail而ls, cp, mv就不行。 47.统计字数wc
wc [-lwm] [filename]
-l: 统计行数
-w统计英文单词
-m统计字符数
[rootbedo19c ORCL]# wc -l redo01.log
1947177 redo01.log
[rootbedo19c ORCL]# wc -w redo01.log
5432652 redo01.log
[rootbedo19c ORCL]# wc -m redo01.log
186103811 redo01.log在默认的情况下wc将计算指定文件的行数、字数以及字节数。使用的命令为
[rootbedo19c ORCL]# wc redo01.log1947177 5432652 209715712 redo01.log如果想同时统计多个文件的信息例如同时统计redo01.log redo02.log redo03.log可使用如下命令
[rootbedo19c ORCL]# wc redo01.log redo02.log redo03.log 1947177 5432652 209715712 redo01.log1459814 5789703 209715712 redo02.log1315368 4671574 209715712 redo03.log4722359 15893929 629147136 总用量48.列选取命令cut
选项与参数
-d 后面接分隔字符。与 -f 一起使用
-f 依据 -d 的分隔字符将一段信息分割成为数段用 -f 取出第几段的意思
-c 以字符 (characters) 的单位取出固定字符区间cut以行为单位根据分隔符把行分成若干列这样就可以指定选取哪些列了。
cut -d 分隔字符 -f 选取的列数
echo $PATH|cut -d : -f 2 --选取第2列
echo $PATH|cut -d : -f 3,5 --选取第3列和第5列
echo $PATH|cut -d : -f 3-5 --选取第3列到第5列
echo $PATH|cut -d : -f 3- --选取第3列到最后1列
echo $PATH|cut -d : -f 1-3,5 --选取第1到第3列还有第5列49. 行选取命令grep
在grep命令中输入字符串参数时最好引号或双引号括起来。例如grep a 1.txt。
选项含义-v显示不包含匹配文本的所有行相当于求反-n显示匹配行及行号-i忽略大小写-c计算找到的行数 grep搜索内容串可以是正则表达式常用正则表达式 实例 显示所有以“h”结尾的行grep h$ 匹配所有以“a”开头且以“e”结尾的中间包含2个字符的单词grep ‘a…e’ 显示所有包含一个”y”或”h”字符的行grep [yh] 显示不包含字母a~k 且后紧跟“pple”的单词grep [^a-k]pple
从系统词典中选择所有以“c”开头且以“o”结尾的单词grep \c.*o\ 找出一个文件中或者输出中找到包含*的行grep \* 显示所有包含每个字符串至少有20个连续字母的单词的行grep [a-Z]\{20,\}
Linux grep命令教程强大的文本搜索工具(附案例详解和注意事项)_grep查找file中含有.的行-CSDN博客 50.排序sort
参数说明 -f 忽略大小写的差异例如 A 与 a 视为编码相同 -b 忽略最前面的空格符部分 -M 以月份的名字来排序例如 JAN, DEC 等等的排序方法 -n 使用『纯数字』进行排序(默认是以文字型态来排序的) -r 反向排序 -u 就是 uniq 相同的数据中仅出现一行代表 -t 分隔符默认是用 [tab] 键来分隔 -k 以哪个区间 (field) 来进行排序 51.去重uniq
选项与参数
-i 忽略大小写字符的不同
-c 进行计数
-u 只显示唯一的行 52.同时输出多个文件tee
53.替换指定的字符tr
54.文件按行连接join
55.文件切割split
split命令用于将一个文件分割成数个。
该指令将大文件分割成较小的文件在默认情况下将按照每1000行切割成一个小文件。
语法
split [-bl] file prefix
-b: 以大小切割
-l以行数切割
prefix切割后文件的前缀
使用指令split将文件README每6行切割成一个文件输入如下命令
$ split -6 README #将README文件每六行分割成一个文件
$ ls #执行ls指令
#获得当前目录结构
README xaa xad xag xab xae xah xac xaf xai以上命令执行后指令split会将原来的大文件README切割成多个以x开头的小文件。而在这些小文件中每个文件都只有6行内容。
以大小切割
$ ls -lh disease.dmp
-rwxr-xr-x 1 root root 122M Jul 4 2013 disease.dmp
$ split -b 50m disease.dmp disease.dmp
$ ls -lh disease.dmp*
-rwxr-xr-x 1 root root 122M Jul 4 2013 disease.dmp
-rw-r--r-- 1 root root 50M Jan 9 16:10 disease.dmpaa
-rw-r--r-- 1 root root 50M Jan 9 16:10 disease.dmpab
-rw-r--r-- 1 root root 22M Jan 9 16:10 disease.dmpac56.参数代换xargs
不是所有的命令都支持管道如ls对于不支持管道的命令可以通过xargs让其有管道命令的效果如下所示
# find /sbin -perm 7000 | xargs ls -l
-rwsr-x--- 1 root ecryptfs 19896 Feb 23 2012 /sbin/mount.ecryptfs_private
-rwsr-xr-x 1 root root 75496 Jan 9 2013 /sbin/mount.nfs
-rwsr-xr-x 1 root root 75504 Jan 9 2013 /sbin/mount.nfs4
-rwxr-sr-x 1 root root 8544 Feb 22 2012 /sbin/netreport
-rwsr-xr-x 1 root root 14112 Nov 2 2010 /sbin/pam_timestamp_check
-rwsr-xr-x 1 root root 75504 Jan 9 2013 /sbin/umount.nfs
-rwsr-xr-x 1 root root 75504 Jan 9 2013 /sbin/umount.nfs4
-rwsr-xr-x 1 root root 19768 Nov 2 2010 /sbin/unix_chkpwd