Linux:基础详细版

Linux基础知识:

文件信息:

Linux是一个以根目录为核心,多个子目录和软链接组成的操作系统

linux中不同类型文件的颜色:

白色:普通文件

蓝色:目录

绿色:可执行文件

红色:压缩文件

青色:链接文件(或者浅蓝色)

黄色:块设备,也就是设备文件

灰色:其他文件

红色闪烁:表示链接文件有问题。

通过 ls -al 显示所有文件信息

[root@localhost test]# ls -al
总用量 16
drwxr-xr-x.  2 root root   56 10月 21 14:32 .
dr-xr-x---. 16 root root 4096 10月 21 2022 ..
-rw-r--r--.  1 root root    0 10月 14 22:29 123
-rw-r--r--.  1 root root   95 10月  9 23:31 1.txt
-rw-r--r--.  1 root root   55 10月  9 23:08 2.txt
-rw-r--r--.  1 root root  145 10月  9 23:09 3.txt

A:

  • 代表普通文件

d 代表目录文件

I 代表链接文件

b 代表设备文件里可供存储的周边设备

c 代表设备文件里面的串行端口设备,如键盘鼠标

B:

B部分表示的是属主权限。

这里有四种模式,r(可读)/w(可写)/x(可执行)/-(无)

C:

C部分表示的是同组权限。

这里有四种模式,r(可读)/w(可写)/x(可执行)/-(无)

D:

D部分表示的是其他权限。

这里有四种模式,r(可读)/w(可写)/x(可执行)/-(无)

文件类型这里举个例子:

比如 r-xr-x--- 代表的信息:

r 读 w 写 x 执行 - 没有权限

r-x 代表所有者权限:有读的权限没有写的权限,有执行权限

r-x 代表所属组的权限:有读的权限没写的

— 代表其他人权限:没有任何去那先

E:

E表示硬链接数量,就是文件别名的数量。

F:

F表示的是属主的名称。

G:

G表示的是属组的名称。

H:

表示字节数。

I:

表示最后修改的时间。

j:

表示文件的名称。

补充知识:

Linux中包含放访问时间(atime)、修改时间(mtime)、状态修改时间(ctime)


命令行前缀:

[root@localhost~] 登陆用户名 @ 系统用户名 路径


Linux命令:

文件管理常用命令:

ls mkdir cd pwd cp rm mv touch chmod chown chgrp

目录信息查看命令: ls

英文愿意:list

所在路径:/bin/ls

执行权限:所有用户

参数:

a 显示所有文件及目录 (. 开头的隐藏文件也会列出)

[root@localhost test]# ls -a
.  ..  123  1.txt  2.txt  3.txt

注意:~ 路径,也就是 root 目录

l 将文件型态、权限、拥有者、文件大小等资讯详细列出

[root@localhost test]# ls -l
总用量 12
-rw-r--r--. 1 root root   0 10月 14 22:29 123
-rw-r--r--. 1 root root  95 10月  9 23:31 1.txt
-rw-r--r--. 1 root root  55 10月  9 23:08 2.txt
-rw-r--r--. 1 root root 145 10月  9 23:09 3.txt

i 检查i节点(inode)

i节点:每个文件和目录都有自己的id号,系统就是靠这个索引号来搜索查询文件

[root@localhost test]# ls -i
33790422 123  33790380 1.txt  33790384 2.txt  33790388 3.txt

d direct 显示当前目录本身

[root@localhost test]# ls -d
.

创建文件夹命令: mkdir

英文愿意:make directories

所在路径:/bin/mkdir

执行权限:所有用户

eg:

[root@localhost test]# mkdir test
[root@localhost test]# ls
123  1.txt  2.txt  3.txt  test

参数:

-p 递归创建目录(例如先创目录a,再在a里创个目录b)

意思:确保目录名称存在,不存在就建一个

[root@localhost test]# mkdir -p test1/test2/test3
[root@localhost test]# ls test1/test2
test3

-v 显示创建过程

[root@localhost test]# mkdir -pv test2/test3/test4
mkdir: 已创建目录 "test2"
mkdir: 已创建目录 "test2/test3"
mkdir: 已创建目录 "test2/test3/test4"

-m 修改权限

[root@localhost test]# ll
总用量 12
drwxrwxrwx. 2 root root   6 10月 21 14:37 1

注:linux中文件权限解释见博客

https://blog.csdn.net/Simon_coder/article/details/78660978/

属主、属组、其他的权限可用数字表示

r = 4
w = 2
x = 1
- = 0

补充:

mkdir命令可以连续创建目录

mkdir test1 test2

创建带有空格的目录

mkdir "t est"

切换目录命令:cd

命令原意: change directories

所在的路径:shell 内置命令

执行权限:所有用户

参数:

cd …

进入当前目录

cd …/ 进入上一级目录

cd ~ 进入当前用户的主目录

cd - 返回进入此目录之前的目录

cd 进入当前用户的主目录


显示当前目录命令: pwd

命令原意:print working directories

执行权限:所有用户

所在路径:/usr/bin/pwd


文件拷贝命令: cp

原意:copy

命令所在路径: /bin/cp

执行权限:所有用户

eg:

[root@localhost test]# touch 1.txt
[root@localhost test]# cp 1.txt 2.txt
[root@localhost test]# ls
1.txt  2.txt

参数:

-r 复制目录

[root@localhost test]# cp -r test1 test2
[root@localhost test]# ls
1.txt  2.txt  test1  test2

-p 保留文件的属性

如图所示两份文件所有时间都一样,包括时间

[root@localhost test]# cp -p 2.txt 3.txt
[root@localhost test]# ll
总用量 0
drwxr-xr-x. 2 root root 6 10月 21 14:39 test1
drwxr-xr-x. 2 root root 6 10月 21 14:39 test2

-rp [源文件或目录] [目标目录]

补充:

可以用cp一次性复制多个文件

[root@localhost test]# cp 1.txt 2.txt test1
[root@localhost test]# ls test1
1.txt  2.txt

文件删除命令:rm

愿意:remove

命令所在路径: /bin/rm

执行权限:所有用户

参数:

-f (force) 表示将在不要求确认的情况下强行删除文件

$ rm -f testfile

-rf (recursion) 递归删除目录以及该目录中的所有内容

$ rm -rf testdirectory
  • 通配符        删除所有以linux为前缀的文件
    
$ rm -rf linux*

rmdir 只有在目录为空时才会删除该目录

$ rmdir testdirectory

移动文件或者重命名命令 mv

原意:move

文件所在的路径:/bin/mv

执行权限:所有用户

语法:mv [源文件或目录][目标目录]

功能:移动文件、剪切文件、修改文件名称

eg:

改名:将源文件名 source_file 改为目标文件名 dest_file

mv source_file(文件) dest_file(文件)

剪切:将文件 source_file 移动到目标目录 dest_directory 中

mv source_file(文件) dest_directory(目录)

文件创建命令 touch

命令所在路径:/bin/touch

执行权限:所有用户

功能:创建空文件

补:修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

补充:

创建带有空格的文件

touch "program files"

权限管理命令:chmod

命令愿意:change the permissions mode of a file

所在路径:/usr/bin/chmod

执行权限:所有用户

功能描述:改变文件或目录权限

命令语法:

chmod [{ugoa} {+-=}] [文件或目录][mode = 421]  [文件或目录]

参数:

-R 递归修改

-v 显示执行过程

u: user 文件或目录的所有者

g: group 文件或目录的所属组

o: other 除了文件或目录的所有者和所属组都是其他人

a: all 代表所有者,所属组,其他人

r: 读取权限,数字代号是4

文件:可以查看文件内容

目录:可以列出目录里中的内容

w:写入权限,数字代号2

文件:可以修改文件内容

目录:可以在目录中创建、删除文件

x:执行权限,数字代号1

文件:可以执行文件

目录:可以进入目录

-:没有权限,数字代号0

+:在原有的基础上增加权限

-:在原有的基础上取消权限

=:文件或目录唯一权限

例子:

修改文件权限:

[root@localhost test]# chmod 777 1.txt
[root@localhost test]# ll
总用量 0
-rwxrwxrwx. 1 root root  0 10月 21 14:38 1.txt

对文件t2添加执行权限:

[root@localhost test]# ll
总用量 0
-rw-r--r--. 1 root root  0 10月 21 14:39 2.txt
[root@localhost test]# chmod u+x 2.txt
[root@localhost test]# ll
总用量 0
-rwxr--r--. 1 root root  0 10月 21 14:39 2.txt

更改文件属主命令:chown

命令的英文原意:change file ownership

命令所在的路径:/bin/chown

执行权限:所有用户

语法:chown [用户] [文件或者目录]


属组管理命令:chgrp

命令英文的原意:change file group ownership

命令所在的路径:/bin/chgrp

执行权限:所有用户

语法:chgrp [用户组] [文件或目录]


用户管理命令:

用户分类:root用户、系统用户、普通用户

root用户的ID是0

系统用户UID范围(1-999),大多数是不能登陆的

普通用户的UID范围(1000-60000)

普通用户管理命令:

useradd命令

语法:useradd [选项] [用户账号]

功能:建立用户账号,然后再用passwd设定账号的密码,再用userdel删除账号

注意:使用useradd建立的账号被保存在/etc/passwd 文本文件中

参数:

-c 加上备注文字

-d 指定用户登陆时的起始目录

-D 变更默认值

-e 指定账号的有效期限

-f 指定再密码过期多少天后关闭该账号

-g 指定用户所属的组群

-r 建立系统账号

-u 指定用户ID

passwd 命令

语法:passwd


关机命令:shutdown

poweroff:立刻关机

shutdown -h now:立刻关机(root用户使用)

-h (halt 停止,中止)


磁盘管理命令:

查看文件系统磁盘空间:df

df: (disk free)

语法:df [选项] [设备或文件名]

功能:检查文件系统的磁盘空间占用情况,显示所有文件系统对i节点和磁盘块的使用情况

注意:df查看的是文件系统

助于理解文件系统:

想想有多个搁板的冰箱,可用于存放各种物品。 这些货架帮助您按形状、大小、类型等组织杂货项目。相同的概念适用于文件系统,它是一种以人类可用的形式存储和组织任意数据集合的方法的体现

选项与参数:

  • a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
  • k :以KBytes 的容量显示各文件系统;
  • m :以MBytes 的容量显示各文件系统;
  • h :以 2 的n次方为计量单位, 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
  • H :以 10 的n次方为计量单位, 以 M=1000K 取代 M=1024K 的进位方式;
  • t :显示各个指定类型的文件系统的磁盘空间的使用情况
  • T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
  • i :不用硬盘容量,而以 inode 的数量来显示

补充:换算

1B=8b

1KB=1024B=2^10B

1MB=1024KB=2^10KB

1GB=1024MB=2^10MB

1TB=1024GB=2^10GB

1PB=1024TB=2^10TB

案例:

将系统内所有的文件系统列出来

[root@localhost ~]# df
文件系统                   1K-块    已用     可用 已用% 挂载点
devtmpfs                 1913636       0  1913636    0% /dev
tmpfs                    1930640       0  1930640    0% /dev/shm
tmpfs                    1930640   12772  1917868    1% /run
tmpfs                    1930640       0  1930640    0% /sys/fs/cgroup
/dev/mapper/centos-root 17811456 4628340 13183116   26% /
/dev/sda1                1038336  188628   849708   19% /boot
tmpfs                     386128      28   386100    1% /run/user/0
/dev/sr0                 4669162 4669162        0  100% /run/media/root/CentOS 7 x86_64

将容量结果以易读的容量格式显示出来

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G     0  1.9G    0% /dev/shm
tmpfs                    1.9G   13M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  4.8G   13G   29% /
/dev/sda1               1014M  185M  830M   19% /boot
tmpfs                    378M   36K  378M    1% /run/user/0
/dev/sr0                 4.5G  4.5G     0  100% /run/media/root/CentOS 7 x86_64

将系统内的所有特殊文件格式及名称都列出来

[root@www ~]# df -aT
Filesystem    Type 1K-blocks    Used Available Use% Mounted on
/dev/hdc2     ext3   9920624 3823112   5585444  41% /
proc          proc         0       0         0   -  /proc
sysfs        sysfs         0       0         0   -  /sys
devpts      devpts         0       0         0   -  /dev/pts
/dev/hdc3     ext3   4956316  141376   4559108   4% /home
/dev/hdc1     ext3    101086   11126     84741  12% /boot
tmpfs        tmpfs    371332       0    371332   0% /dev/shm
none   binfmt_misc         0       0         0   -  /proc/sys/fs/binfmt_misc
sunrpc  rpc_pipefs         0       0         0   -  /var/lib/nfs/rpc_pipefs

查看文件或目录所占磁盘空间:du 命令

du:(disk usage)

语法:du [选项] [Names…]

功能:统计目录(或文件)所占磁盘空间的大小,显示磁盘空间的使用情况

选项与参数:

  • a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
  • b:以字节为单位列出磁盘空间的使用情况
  • c:除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
  • h :以人们较易读的容量格式 (G/M) 显示;
  • s :列出总量而已,而不列出每个各别的目录占用容量;
  • S :不包括子目录下的总计,与 -s 有点差别。
  • k :以 KBytes 列出容量显示;
  • m :以 MBytes 列出容量显示;

案例:

只列出当前目录下的所有文件夹容量(包括隐藏文件夹):

[root@www ~]# du
8       ./test4     <==每个目录都会列出来
8       ./test2
....中间省略....
12      ./.gconfd   <==包括隐藏文件的目录
220     .           <==这个目录(.)所占用的总量

直接输入 du 没有加任何选项时,则 du 会分析当前所在目录里的子目录所占用的硬盘空间。

将文件的容量也列出来

[root@www ~]# du -a
12      ./install.log.syslog   <==有文件的列表了
8       ./.bash_logout
8       ./test4
8       ./test2
....中间省略....
12      ./.gconfd
220     .

文件查看命令:

以页的形式显示文件内容:more

语法:more [选项] [文件名]

功能:

一页一页地显示内容,方便用户 逐页阅读

基本操作:

按空格: 显示下一页

按B键:显示上一页

按H键:查看帮助信息

按Q键:跳出more状态

按V键:进入vim模式

查找字符串:/字符串 , 按n查找下一个关键字,shift+n查找上一个

参数:

-num 一次显示行数

逐行显示文件内容:less 命令

语法:less [选项] [文件名]

**功能:**可以用上下键逐行显示内容

与more的区别:

区别:1、less可以按上下方向键来显示上下内容,而more不能通过上下方向键控制显示;2、less不必读整个文件,加载速度比more更快;3、less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容。

参数:

-N 在每行前输出行号

-m 显示读取文件的百分比

-c 从顶部刷新屏幕,并显示文件内容。

-f 强制打开文件,二进制文件显示时 不提示警告

-I 搜索的时候忽略大小写;除非搜索 串中包含大写字母

-M 显示读取文件的百分比、行号、总行数

-p pattern 在指定文件中搜索 pattern -s 把连续多个空白行作为一个空白行 显示

-Q 在终端下不响铃

cat 命令

语法:cat[选项] 文件 1文件 2 …

功能:把文件 串连接 后传到基本输出(输出到显示器或重定向到另一个文件)

参数:

-A --show-all 等价于-vET,显示所有字符,包括控制字符和非打印字符

-b --number-nonblank 对非空输出行编号

-e 等价于-vE

-E –show-ends在每行结束处显示$

-n --number 对输出的所有行编号

-s 当遇到有连续两行以上的空白行,就替换为一个空白行

-t 与-vT 等价

-v 显示除 Tab 和 Enter 之外的所有字符

-T 将跳格字符显示为^I

-help 显示帮助信息

案例:

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

cat -b textfile1 textfile2 >> textfile3

tac 命令

语法:tac 文件名

功能:将文件从最后一行开始倒过来将 内容数据输出到屏幕上。

nl 命令

类似于 cat -n 显示时输出行号,但是 不对空行编号。

head 命令

语法:head [选项] [文件名]

功能:显示文件的前几行

参数:

-n 输出文件前 n 行,默认输出前 10 行

-c 指定输出文件的大小,单位为 B

案例:

显示文件前3行

[root@localhost test]# head -n 3 1.txt
123
123
123

注意:默认带参赛 -n 10

显示文件前4个字节

[root@localhost test]# head -c 4 1.txt
123

tail 命令

语法:tail [选项] [文件名]

功能:显示文件的后几行

参数:

-n 输出文件后 n 行,默认输出后 10 行

-f 把 filename 最尾部内容显示在屏幕 上,并不断刷新,常用于日志文件的实时监控。

Ctrl+Z 结束命令

wc 命令

语法:wc [选项] [文件名]

功能:文件内容的统计命令。统计文件中的行数、字数、字符数。

参数:

c 统计文件的字节数

m 统计字符数。不能与-c 一起使用

l 统计文件的行数

L 打印最长行的长度

w 统计文件的字数,一个字被定义为由空白、跳格或换行字符分隔的字符串

案例:

$ wc testfile           # testfile文件的统计信息
3 92 598 testfile       # testfile文件的行数为3、单词数92、字节数598

find命令

语法: find  [起始目录]  [查找条件]  [操作]

功能:在目录中搜索文件,并执行指定的操作

参数:

常用参数:

-a and 必须满足两个条件才显示

-o or 只要满足一个条件就显示

-name 按照文件名查找文件

-iname 按照文件名搜索,不区分文件名大小写

根据时间:

-atime n 文件被读取或者访问的时间

-type c 文件类型是 c 的文件

-size n 文件大小是n 单位

补:b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组

-user 按照文件属主来查找文件

-group 按照文件属组来查找文件

补充知识:

通配符:

当我们不知道确切的文件名时,可以用通配符来进行模糊操作。

“*”可以代表任意长度的任意字符,“?”代表一个任意字符。

注意:

如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

例:在/etc目录中查找文件init

案例:

1.常用查找文件:

1.1 find .

列出当前目录及子目录下所有文件和文件夹

[root@host-134 ~]# find .
.
./.bash_logout
./.bash_profile

1.2 -name

将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:

# find . -name "*.c"

1.3 -type

-type 类型参数

类型参数列f 普通文件l 符号连接(软连接)d 目录b 块设备s 套接字

1.4 将当前目录及其子目录中的所有文件列出:

[root@host-136 ~]# find /home/ -type f
/home/frank/.bash_logout
/home/frank/.bash_profile
/home/frank/.bashrc

2.按照时间查找:

UNIX/Linux文件系统每个文件都有三种时间戳:

访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间
变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

amin 访问时间  access cmin 文件属性  change mmin 文件内容  modify

2.1 将当前目录及其子目录下所有最近 20 天内更新过的文件列出:

# find . -ctime  20

2.2 在/etc目录下查找100分钟内被修改过属性的文件和目录

[root@localhost ~]# find /etc -cmin -100
/etc/resolv.conf

3.根据文件大小进行匹配

find . -type f  -size 文件大小单元
b —— 块(512字节)
c —— 字节
w —— 字(word)(2字节)k —— 千字节
M —— 兆字节
G —— 吉字节

搜索大于10KB的文件

[root@host-136 ~]# find /etc/ -type f -size +10k
/etc/ssh/moduli

搜索小于10KB的文件

[root@host-136 ~]# find /etc/ -type f -size -10k
/etc/man_db.conf

搜索等于10KB的文件

[root@host-136 ~]# find /etc/ -type f -size 10k
/etc/dbus-1/system.d/org.freedesktop.systemd1.conf

在/etc目录下查找大于80MB或者小于100MB的文件

a:两个条件同时满足

o:两个个条件满足一个即可

[root@localhost ~]# find /etc -size +163840 -o -size -204800
/etc/resolv.conf
/etc/fonts
/etc/fonts/conf.d

4.根据文件所有者或组进行匹配

-usr 在/home目录下找所有者为lhx的文件

[root@localhost ~]# find /home -user lhx
/home/lhx
/home/lhx/.mozilla
/home/lhx/.mozilla/extensions

-group 在/home目录中查找所属组为lhx的文件

[root@localhost ~]# find /home -group lhx
/home/lhx
/home/lhx/.mozilla

5.-exec 命令

语法:

find [路径] [选项] [表达式] -exec 命令 {} \;

{ } 代表find找到的文件

\ 表示转义

; 表示本行命令结束

exec 参数后跟的是command命令,它的终止是以;(分号)来结束,所以这句话命令后面的分号是必不可少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠 "\”

案例:

[root@localhost ~]# find test -name 123 -exec ls -l {} \;
-rw-r--r--. 1 root root 0 10月 14 22:29 test/123

6.按照节点查找

-inum:按照inode号搜索

参考博客:

https://blog.csdn.net/m0_46674735/article/details/112390027?ops_request_misc=&request_id=&biz_id=102&utm_term=find命令&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-112390027.nonecase&spm=1018.2226.3001.4187


查找文件里符合条件的字符串命令:grep

功能描述:查找文件里符合条件的字符串

案例:

在当前目录中,查找前缀有 test 字样的文件中包含 456 字符串的文件,并打印出该文件名:

[root@localhost test]# ls
test  test1  test2
[root@localhost test]# grep 456 test*
test:456

以递归的方式查找符合条件的文件

参数: -r recurse

[root@localhost root]# grep -r 456 test/test3
test/test3/1.txt:456
test/test3/test4/2.txt:456
test/test3/test4/3.txt:456

帮助命令:

帮助命令:man

命令英文原意:manual

命令所在路径:/usr/bin/man

执行权限:所有用户

语法:man  [命令或配置文件]

功能描述:获得帮助信息

参数:

-k  按照指定关键字查询有关命令

-a  查询参数的所有相关页

案例:

[root@localhost ~]# man ls

帮助命令:help

命令所在路径:shell内置命令

执行权限:所有用户

语法:help  命令

功能描述:获得shell内置命令的帮助信息

案例:

[root@localhost ~]# help while
while: while 命令; do 命令; done只要测试成功即执行命令。只要在 `while' COMMANDS 中的最终命令返回结果为0,则展开并执行 COMMANDS 命令。退出状态:返回最后一个执行的命令的状态。

显示操作时间日期命令:date

作用:表示操作时间日期

参数:

%F 表示完整的年月日

%T 表示完整的时分秒

%Y 表示四位的年份

%m 表示两位月份(带前导0)

%d 表示日期(带前导0)

%H 表示小时(带前导0)

%M 表示分钟(带前导0)

%S 表示秒(带前导0)

案例:

显示当前时间

[root@localhost ~]# date
2022年 10月 21日 星期五 22:24:56 CST

以全格式显示当前时间

[root@localhost ~]# date '+%F %H:%M:%S'
2022-10-21 22:25:53
[root@localhost test]# date '+%F %T'
2022-10-21 14:28:28

显示未来或过去某时间

[root@localhost test]# date +%F -d "+1day"
2022-10-22
单位可选值:day(天)month(月)year(年)

显示文件或目录最后修改时间

[root@localhost test]# date -r test1
2022年 10月 21日 星期五 21:38:36 CST
[root@localhost test]# date +%F -d "-1day"
2022-10-20

设置时间

[root@localhost test]# date -s '2022-10-21 14:25:30'
2022年 10月 21日 星期五 14:25:30 CST

进程管理命令:

进程:

是程序在一个数据集合上的一次具体执行过程。
每一个进程都有一个独立的进程号(Process ID PID),系统通过进程号来调度操控进程。


显示系统中进程的信息命令:ps

原意:process status

语法:ps [选项]

功能:显示系统中进程的信息

参数:

-a 显示现行终端机下的所有程序,包括其他用户的程序

-e 显示所有进程

-A 显示所有进程

-u 显示进程所有者的信息

-p 显示指定进程ID的信息

案例:

[root@localhost ~]# psPID TTY          TIME CMD2563 pts/0    00:00:00 bash2655 pts/0    00:00:00 ps

PID 进程的进程号

TTY 终端的次设备号

TIME 执行时间

CMD(Command) 所执行的指令

[root@localhost ~]# ps -u
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       1434  0.0  0.7 284576 27732 tty1     Ssl+ 03:46   0:00 /usr/bin/X :0 -background none -noreset -audit 4 -v
root       2563  0.0  0.0 116436  2992 pts/0    Ss   03:47   0:00 -bash
root       2673  0.0  0.0 155472  1872 pts/0    R+   03:54   0:00 ps -u
  • USER: 行程拥有者
  • PID: pid
  • %CPU: 占用的 CPU 使用率
  • %MEM: 占用的记忆体使用率
  • VSZ: 占用的虚拟记忆体大小
  • RSS: 占用的记忆体大小
  • TTY: 终端的次要装置号码 (minor device number of tty)
  • STAT: 该行程的状态:
    • D: 无法中断的休眠状态 (通常 IO 的进程)
    • R: 正在执行中
    • S: 静止状态
    • T: 暂停执行
    • Z: 不存在但暂时无法消除(僵尸状态)
    • W: 没有足够的记忆体分页(内存分页)可分配
    • <: 高优先序的行程
    • N: 低优先序的行程
    • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
  • START: 行程开始时间
  • TIME: 执行的时间
  • COMMAND:所执行的指令

以树状方式表现进程的父子关系命令:pstree

原意:process status tree

功能:以树状方式表现进程的父子关系

语法:pstree [选项]

参数:

-a 显示每个进程的完整命令,包含路径、参数或者是常驻服务的标识;

-c 不使用精简标识法

-h 列出树状图时,特别标明现在执行的进程

-p 显示进程号

-u 显示用户名称

[root@localhost ~]# pstree -h
systemd─┬─ModemManager───2*[{ModemManager}]├─NetworkManager───2*[{NetworkManager}]├─VGAuthService├─2*[abrt-watch-log]├─abrtd├─accounts-daemon───2*[{accounts-daemon}]├─alsactl├─anacron├─at-spi-bus-laun─┬─dbus-daemon───{dbus-daemon}│                 └─3*[{at-spi-bus-laun}]├─at-spi2-registr───2*[{at-spi2-registr}]├─atd├─auditd─┬─audispd─┬─sedispatch│        │         └─{audispd}│        └─{auditd}
......

显示系统进程相关信息命令:top

语法:top [选项]

功能:显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等。

在运行 top 的时候,可以按下快捷键:

M(大写) 表示将结果按照内存(MEM)从高到低进行降序排列;

P(大写) 表示将结果按照CPU 使用率从高到低进行降序排列;

q 退出

案例:

top - 04:10:09 up 23 min,  2 users,  load average: 0.00, 0.01, 0.06
Tasks: 194 total,   1 running, 193 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3861272 total,  2637468 free,   545784 used,   678020 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  3075256 avail Mem PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                           2306 root      20   0  640784  28212  19364 S  0.3  0.7   0:02.22 vmtoolsd                                                          2837 root      20   0  162124   2332   1584 R  0.3  0.1   0:00.09 top                                                               1 root      20   0  128268   6948   4184 S  0.0  0.2   0:02.07 systemd                                                           2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd                                                          4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H                                                      5 root      20   0       0      0      0 S  0.0  0.0   0:00.08 kworker/u256:0

gome-system-monitor 命令

在终端窗口执行gome-system-monitor 命令会出现“系统监视器”窗口,可以通过图形化界面的方式监视系统


判断程序是否正在运行命令:pgrep

语法:pgrep [选项] pattern

功能:通过程序的名字或者其他属性查找进程,一般是用来判断程序是否正在运行

案例:

[root@localhost ~]# pgrep -u root
1
2
4
5
6
......

进程终止命令:kill

语法: kill [信号代码] PID

功能:用来终止一个进程。

9 强行终止进程

15 终止进程

17 将进程挂起

u 指定用户


显示计算机以及操作系统的相关信息命令:uname

语法:uname [选项]

功能:uname 可显示计算机以及操作系统的相关信息

参数:

-a 显示全部信息

-m 显示计算机的类型、硬件的型号

-n 显示在网络中的主机名

-r 显示操作系统的 release 版本

-s 显示操作系统的名称

-v 显示操作系统的 version 版本

案例:

显示全部信息

[root@localhost test]# uname -a
Linux localhost.localdomain 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

显示内存使用情况命令:free

语法: free [选项]

功能:显示内存的使用和空闲的内存情况,包括物理内存、交互区内存和内核缓冲区内存,共享内存

将被忽略

参数:

-b 以 Byte 为单位显示内存使用情况

-k 以 KB 为单位显示内存使用情况

-m 以 MB 为单位显示内存使用情况

-g 以 GB 为单位显示内存使用情况

案例:

[root@localhost test]# free -mtotal        used        free      shared  buff/cache   available
Mem:           3770         553        2523          13         693        2972
Swap:          2047           0        2047

系统管理命令

关闭系统命令:halt

语法:halt [选项]

功能:关闭系统,halt 会先检查系统的runlevel。若 runlevel 为 0 或 6,则关闭系统,否则即调用

shutdown 来关闭系统。


用户注销命令:logout

语法: logout

功能:用户注销,注销的目的在于防止下一位坐在终端机前面的用户继续用前一用户的权限去存取文件


改变系统状态命令:init

语法:init state

功能:改变系统状态。可以使用该命令重启或关闭系统。

state 描述:

0 完全关闭系统

1 管理模式的单用户状态

2 多用户状态

3 完全多用户模式

4 未使用

5 只用在 X11 上,即 GUI

6 关闭并重启

s/S 同 state=1.单用户模式,只允许一个用户访问系统


日历显示命令:cal

语法:cal [选项] [[[日]月]年]

功能:显示某年某月的日历

选项:

-1 只显示当前月份

-3 显示上个月、当月和下个月的日历

-j 显示给定月中的每一天是一年中的第几天(从1月1日算起)

-m 周一作为一周的第一天

-s 周日作为一周的第一天

-y 显示整年的日历

案例:

[root@localhost test]# cal -m十一月 2022
一 二 三 四 五 六 日1  2  3  4  5  67  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

压缩解压缩命令:

文件压缩解压缩命令:gzip

命令英文原意:GUN zip

命令所在路径:/bin/gzip

执行权限:所有用户

语法:gzip [选项] [文件]

参数:

-d 解压文件

-v 对每一个压缩和解压的文件显示文件名和压缩比

-<压缩效率>压缩效率是一个介于1-9的数,预设值为"6",指定愈大的数值,压缩效率就会愈高

-best 此参数的效果和指定"-9"参数相同。

-fast 此参数的效果和指定"-1"参数相同。

案例:

压缩文件:

//压缩单个文件
[root@localhost test]# gzip -v 1.txt
1.txt:    0.0% -- replaced with 1.txt.gz
[root@localhost test]# ls
1.txt.gz//压缩所有文件
[root@localhost test]# gzip -v *
1.txt:    0.0% -- replaced with 1.txt.gz
2.txt:    0.0% -- replaced with 2.txt.gz
3.txt:    0.0% -- replaced with 3.txt.gz
[root@localhost test]# ls
1.txt.gz  2.txt.gz  3.txt.gz

解压文件:

[root@localhost test]# gzip -dv *
1.txt.gz:     0.0% -- replaced with 1.txt
2.txt.gz:     0.0% -- replaced with 2.txt
3.txt.gz:     0.0% -- replaced with 3.txt
[root@localhost test]# ls
1.txt  2.txt  3.txt

补充:

压缩解压缩命令:gunzip

功能:解压缩.gz 的压缩文件


压缩解压缩命令:bzip2

命令所在路径:/usr/bin/unzip

执行权限:所有用户

语法:bzip2 [选项] [文件名]

功能描述:压缩文件

参数:

-k 产生压缩文件后保留原文件,压缩后文件格式.bz2

-z 或–compress  强制执行压缩

-d 或–decompress 解压缩

-v 或–verbose 压缩或解压缩文件时,显示详细的信息

-c 将压缩的过程产生的数据输出到屏幕上

-# 与 gzip 同样 都是计算压缩比的参数,-9 为最佳 -1 最快

案例:

压缩文件

//产生压缩文件并保留原文件
[root@localhost test]# bzip2 -k 1.txt
[root@localhost test]# ls
1.txt  1.txt.bz2

补充:解压缩命令:bunzip2


压缩解压缩命令:tar

命令所在路径:/bin/tar

执行权限:所有用户

功能描述:打包目录

语法:tar 选项[-zcf] [压缩后的文件名] [文件|目录]

参数:

-c 压缩用。建立新的备份文件

-x 解压用。从备份文件中释放文件

-zvf:

-z 通过gzip支持压缩或解压缩

-v 显示详细信息

-f 指定备份文件

-k 保存已经存在的文件

案例:

压缩文件:

[root@localhost test]# tar -czvf new.tar.gz test2
test2/
[root@localhost test]# ls
1.txt  2.txt  3.txt  new.tar.gz  test2

解压文件:

//解压文件到当前目录
[root@localhost test]# tar -xzvf new.tar.gz
test2/
[root@localhost test]# ls
new.tar.gz  test2//解压文件到指定目录 参数:-C  指定目录
[root@localhost ~]# tar -xzvf /root/test/new.tar.gz -C /root/test1
1.txt
2.txt
3.txt

列出压缩文件内容:

[root@localhost test]# tar -tzvf new.tar.gz
-rw-r--r-- root/root         0 2022-11-02 04:54 1.txt
-rw-r--r-- root/root         0 2022-11-02 04:54 2.txt
-rw-r--r-- root/root         0 2022-11-02 04:54 3.txt

Linux:基础笔记相关推荐

  1. Linux基础笔记18 | 磁盘分区管理

    fdisk 分区工具 fdisk 这个古老的软件并不认识 GPT ,所以 fdisk 只支持 MBR 的分区模式,且磁盘小于2T,大于了就不能使用 fdisk 进行分区了 新磁盘的分区 一块新加的磁盘 ...

  2. Linux基础笔记_01

    在图形界面使用:  ctrl+alt+F2 切换到dos界面 在dos界面使用:   ctrl+alt+F2 切换回图形界面 在命令上输入: init 3 命令 切换到dos界面   init 5 命 ...

  3. Linux基础笔记1

    1.Linux 下有两种用户: 超级用户( root). 普通用户.超级用户命令提示符是" #", 普通用户是" $" 2.命令: su [用户名]  eg: ...

  4. Linux基础笔记11 | 链接文件详解

    链接的概念 硬链接(Hard Link) 软链接(Soft Link) ln 命令默认不带参数下创建的是硬链接,带有-s创建的是软链接,软链接类型是 l(小写的L) 在 ext2.ext3.ext4默 ...

  5. linux基础概念和个人笔记总结(6)

    防伪码:曾经梦想仗剑走天涯,回过头,却发现还是放不下家的牵挂 后续理论的验证图文详解,我会更新,希望大家可以参考 第十一章 FTP文件传输服务 1.FTP连接 控制连接:tcp21端口,用于发送ftp ...

  6. Linux 学习笔记之超详细基础linux命令 Part 3

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 2----------------- ...

  7. linux磁盘符变化autofs,Linux基础教程学习笔记之Autofs自动挂载

    Linux基础教程学习笔记之Autofs自动挂载 Autofs自动挂载: yum -y install autofs vim /etc/auto.master  在文件中添加下面行 /home/gue ...

  8. 网络存储 linux 访问,Linux基础教程学习笔记28——使用Samba访问网络存储

    Linux基础教程学习笔记28--使用Samba访问网络存储 SMB用于Windows和类Linux系统直接的文件共享 安装samba client包: [root@linuxidc~]# yum i ...

  9. linux基础命令怎么记,linux基础命令--笔记(示例代码)

    linux基础命令--笔记 一.   1  . --help 命令简单帮助 2. man 查看命令复杂帮助  (非内置命令) 3  . help (bash的内置命令)如 :help cd  .hel ...

  10. Linux C基础笔记(4)终结篇

    Linux C基础笔记(4)终结篇 补充申明:Linux C基础笔记共分为四部分,第一部分是Linux下基本命令,以及vi编辑器的使用还有C中的数据类型,第二部分为运算符.常量变量和输入输出.第三部分 ...

最新文章

  1. shell脚本的基础知识
  2. 「PSR 规范」PSR-2 编码风格规范
  3. 金蝶K/3 同步用核算项目配置
  4. BNU 26349——Cards——————【区间dp】
  5. (总结5)H5中新增的功能性事件
  6. Pyqt 打开外部链接的几种方法
  7. JAVA实现1到100的平方根之和_手算平方根和基于 Java BigInteger 的大整数平方根的实现...
  8. Oracle Spatial 创建空间表、添加空间原表信息、添加删除空间索引
  9. [Java] 蓝桥杯 BASIC-2 基础练习 01字串
  10. 59. Spiral Matrix Spiral Matrix II
  11. java 快速排序流程图_java简单快速排序实例解析
  12. 远程连接mysql数据库 需要的操作
  13. 一张模板替代数百Excel,这个工具让报表工作自动进行
  14. 使用ssh连接虚拟机保姆级教程
  15. PageOffice在线预览word/excel/ppt/pdf
  16. 螺旋分级机与水力分级机间的优缺点
  17. java判断生肖_Java写出生肖年判断
  18. (数据科学学习手札32)Python中re模块的详细介绍
  19. NetBackup 8.2 LinuxR Oracle脚本备份
  20. python map函数的作用_python语言基础之map函数,urlib.request,多线程

热门文章

  1. 枚举类根据name获取value
  2. 电子设备 Kindle如何删除书籍或漫画
  3. pta c++ 填空题
  4. java汽车租赁行,基于jsp的汽车租赁租车行-JavaEE实现汽车租赁租车行 - java项目源码...
  5. 八大排序总是忘?快来这里~
  6. 用python实现FTP传输
  7. 计算机高级职称考试培训,高级职称计算机考试培训
  8. Android 系统分享图片,文字
  9. linux(ubuntu)安装ssh服务,putty使用教程
  10. 鄙视糯米团购网, 声讨糯米团