Skip to content

Linux基础知识

目录结构

系统启动必须:

  • /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。

  • /etc:存放所有的系统需要的配置文件子目录列表,更改目录下的文件可能会导致系统不能启动。

  • /lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

  • /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中

指令集合:

  • /bin:存放着最常用的程序和指令

  • /sbin:只有系统管理员能使用的程序和指令。

外部文件管理:

  • /dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。

  • /media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。

  • /mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

临时文件:

  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

  • /lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。

  • /tmp:这个目录是用来存放一些临时文件的。

账户:

  • /root:系统管理员的用户主目录。

  • /home:用户的主目录,以用户的账号命名的。

  • /usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /usr/bin:系统用户使用的应用程序与指令。

  • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:内核源代码默认的放置目录。

运行过程中要用:

  • /var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。

  • /proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。

扩展用的:

  • /opt:默认是空的,我们安装额外软件可以放在这个里面。

  • /srv:存放服务启动后需要提取的数据(不用服务器就是空)

命令

命令提示符

[root@localhost ~]#
  • root: 当前登陆用户
  • @: 分隔符号
  • localhost: 当前系统主机名
  • ~: 当前目录,家目录
  • : 命令提示符,超级用户#,普通用户$

命令的基本格式

命令 [参数] [参数]
  • 参数: 短格式选项(-简写)和长格式选项(--完整单词)
  • 参数: 命令一般都需要加入参数,用于指定命令操作的对象是谁。如果可以省略参数,则一般都有默认参数 总结: 命令的选项用于调整命令功能,而命令的参数是这个命令的操作对象

目录操作命令

ls

  • 命令名称:ls。
  • 英文原意:list。
  • 所在路径:/bin/ls。
  • 执行权限:所有用户。
  • 功能描述:显示目录下的内容。
ls [参数] [文件名或者目录名]

参数: -a: 显示所有文件,包括“.”开头的隐藏文件 -d: 显示目录信息,而不是目录下的文件 -F: 在条目后面加上文件类型的指示符(*,/,=,@,|) -h: 人性化显示,按照我们习惯的单位显示文件大小 -i: 显示文件的i节点号 -l: 长格式显示文件和目录信息 -p: 只在目录后面加上“/” -r: 按相反顺序排序 -s: 显示文件大小 -S: 按文件大小排序 -t: 按最后修改时间(mtime)排序 --color=when: 支持颜色输出,when的值默认是always(总显示颜色),也可以是never(从不显示颜色)和auto(自动) --time-style={full-iso, long-iso, iso, locale}: long-iso效果最好

在Linux中以“.”开头的文件是隐藏文件. 隐藏文件不是为了把文件藏起来不让其他用户找到,而是为了告诉用户这些文件都是重要的系统文件,如非必要,不要乱动!

-l参数
  • 第一列:权限。
  • 第二列:引用计数。文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录有多少个一级子目录。
  • 第三列:所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户
  • 第四列:所属组。默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
  • 第五列:大小。默认单位是字节。
  • 第六列:文件修改时间。文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个时间不是文件的创建时间。
  • 第七列:文件名。

lsattr

lsattr命令用于查看文件的拓展属性

lsattr [参数] [<文件或目录>]

参数:

  • R: 递归查看目录拓展属性
  • a: 显示所有文件包括隐藏文件的拓展属性
  • d: 显示目录的拓展属性

cd

  • 命令名称:cd。
  • 英文原意:change directory。
  • 所在路径:Shell内置命令。
  • 执行权限:所有用户。
  • 功能描述:切换所在目录。

Shell内置命令和外部命令。所谓Shell内置命令,就是Shell自带的命令,这些命令是没有执行文件的;而外部命令就是由程序员单独开发的,是外来命令.

cd [目录名]
特殊符号 作用
~ 用户的家目录
- 上次所在的目录
. 当前目录
.. 上级目录

mkdir

  • 命令名称:mkdir。
  • 英文原意:make directories。
  • 所在路径:/bin/mkdir。
  • 执行权限:所有用户。
  • 功能描述:创建空目录。
mkdir [参数] 目录名

参数: -p: 递归创立所需目录,即使要创建目录的默认目录已经存在也不会提示错误 -m: 设置新创建目录的默认权限 -v: 显示创建目录的过程

rmdir

  • 命令名称:rmdir。
  • 英文原意:remove empty directories。
  • 所在路径:/bin/rmdir。
  • 执行权限:所有用户。
  • 功能描述:删除空目录。
rmdir [参数] 目录名

参数: -p: 递归创立所需目录

rmdir命令的作用十分有限,因为只能删除空目录,所以一旦目录中有内容,就会报错

tree

  • 命令名称:tree。
  • 英文原意:list contents of directories in a tree-like format。
  • 所在路径:/usr/bin/tree。
  • 执行权限:所有用户。
  • 功能描述:显示目录树。

文件操作命令

touch

  • 命令名称:touch。
  • 英文原意:change file timestamps。
  • 所在路径:/bin/touch。
  • 执行权限:所有用户。
  • 功能描述:修改文件的时间戳。
touch [参数] 文件名或目录名

参数: -a: 只修改文件的访问时间(Access Time) -c: 如果文件不存在,则不建立新文件 -d STRING: 把文件的时间改为指定的时间 -m: 只修改文件的数据修改时间(Modify Time) -t: 使用[[CC]YY]MMDDhhmm[.ss]格式的时间设置文件的时间属性

Linux中的每个文件都有三个时间,分别是访问时间(Access Time)、数据修改时间(Modify Time)和状态修改时间(Change Time) 在Linux中,文件没有创建时间。

stat

  • 命令名称:stat。
  • 英文原意:display file or file system status。
  • 所在路径:/usr/bin/stat。
  • 执行权限:所有用户。
  • 功能描述:显示文件或文件系统的详细信息。
stat [参数] 文件名或者目录名

参数: -f: 查看文件所在的文件系统信息,而不是查看文件的信息

cat

  • 命令名称:cat。
  • 英文原意:concatenate files and print on the standard output。
  • 所在路径:/bin/cat。
  • 执行权限:所有用户。
  • 功能描述:合并文件并打印输出到标准输出。
cat [参数] 文件名

参数: -A:相当于-vET选项的整合,用于列出所有隐藏符号 -E:列出每行结尾的回车符$ -n:显示行号 -T:把Tab键用^I显示出来 -v:列出特殊字符

cat主要有三大功能:

  1. 一次显示整个文件。$ cat filename
  2. 从键盘创建一个文件。$ cat > filename 只能创建新文件,不能编辑已有文件.
  3. 将几个文件合并为一个文件: $cat file1 file2 > file

tac倒序显示

标准输入输出:当我们执行一个 shell 命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),默认对应终端的键盘、标准输出文件(stdout)和标准错误输出文件(stderr),后两个文件都对应被重定向到终端的屏幕,以便我们能直接看到输出内容。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

nl

添加行号并打印 -b : 指定添加行号的方式,主要有两种: -b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式) -b t:只列出非空行的编号并列出(默认为这种方式) -n : 设置行号的样式,主要有三种: -n ln:在行号字段最左端显示 -n rn:在行号字段最右边显示,且不加 0 -n rz:在行号字段最右边显示,且加 0 -w : 行号字段占用的位数(默认为 6 位)

more

  • 命令名称:more。
  • 英文原意:file perusal filter for crt viewin。
  • 所在路径:/bin/more。
  • 执行权限:所有用户。
  • 功能描述:分屏显示文件内容。
# more 文件名

常用交互命令:

  • 空格键:向下翻页。
  • b:向上翻页。
  • 回车键:向下滚动一行。
  • /字符串:搜索指定的字符串。
  • q:退出。

less

  • 命令名称:less。
  • 英文原意:opposite of more。
  • 所在路径:/usr/bin/less。
  • 执行权限:所有用户。
  • 功能描述:分行显示文件内容。
less 文件名
  • 命令名称:head。
  • 英文原意:output the first part of files。
  • 所在路径:/usr/bin/head。
  • 执行权限:所有用户。
  • 功能描述:显示文件开头的内容。
# head [参数] 文件名

参数: -n: 行数:从文件头开始,显示指定行数 -v: 显示文件名

tail

  • 命令名称:tail。
  • 英文原意:output the last part of files。
  • 所在路径:/usr/bin/tail。
  • 执行权限:所有用户。
  • 功能描述:显示文件结尾的内容。
# tail [参数] 文件名

参数: -n: 从文件结尾开始,显示指定行数 -f: 监听文件的新增命令

ln

  • 命令名称:ln。
  • 英文原意:make links between file。
  • 所在路径:/bin/ln。
  • 执行权限:所有用户。
  • 功能描述:在文件之间建立链接。
# ln [参数] 源文件 目标文件

参数: -s:建立软链接文件。如果不加“-s”选项,则建立硬链接文件 -f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件

目录和文件都能操作的命令

rm

  • 命令名称:rm。
  • 英文原意:remove files or directories。
  • 所在路径:/bin/rm。
  • 执行权限:所有用户。
  • 功能描述:删除文件或目录
# rm [参数] 文件或者目录

选项: -f: 强制删除(force) -i: 交互删除,在删除之前会询问用户 -I: 在删除超过三个文件或者递归删除前询问用户 -r: 递归删除,可以删除目录(recursive)

cp

  • 命令名称:cp。
  • 英文原意:copy files and directories。
  • 所在路径:/bin/cp。
  • 执行权限:所有用户。
  • 功能描述:复制文件和目录。
# cp [参数] 源文件 目标文件

参数: -a: 相当于-dpr选项的集合 -d: 如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接 -i: 询问,如果目标文件已经存在,则会询问是否覆盖 -p: 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间) -r: 递归复制,用于复制目录 -t: 颠倒源文件和目标文件的顺序

mv

  • 命令名称:mv。
  • 英文原意:move (rename) files。
  • 所在路径:/bin/mv。
  • 执行权限:所有用户。
  • 功能描述:移动文件或改名
# mv [参数] 源文件 目标文件

参数: -f: 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖 -i: 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项) -n: 如果目标文件已经存在,则不会覆盖移动,而且不询问用户 -t: 指定mv的目标目录,适用于移动多个源文件到一个目录,和cp命令的-t选项功能一样 -u: 在源文件比目标文件新,或者目标文件不存在时才进行移动 -v: 显示详细信息

用户管理

在Linux系统中,与用户相关的配置文件主要包含两个:

/etc/passwd  #<==存储用户信息的文件
/etc/shadow  #<==存储用户密码信息的文件

添加用户

sudo adduser 用户名

切换用户

su -l 用户名

查看用户

who am i: 记录登录shell时的用户,你以什么用户登录就显示什么 who mon likes whoami: 当前系统的有效用户

用户组

groups 用户名 sudo usermod -G sudo 用户名:添加用户到sudo用户组

删除用户和用户组

sudo deluser 用户名 --remove-home

权限管理命令

权限位含义

  • 第1位代表文件类型。
  • “-”:普通文件。
  • “b”:块设备文件。这是一种特殊设备文件,存储设备都是这种文件,如分区文件/dev/sda1就是这种文件。
  • “c”:字符设备文件。这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘等。
  • “d”:目录文件。Linux中一切皆文件,所以目录也是文件的一种。
  • “l”:软链接文件。
  • “p”:管道符文件。这是一种非常少见的特殊设备文件。
  • “s”:套接字文件。这也是一种特殊设备文件
  • 第2~4位代表文件所有者的权限。
  • 第5~7位代表文件所属组的权限
  • 第8~10位代表其他人的权限

一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件

chmod

  • 命令名称:chmod。
  • 英文原意:change file mode bits。
  • 所在路径:/bin/chmod。
  • 执行权限:所有用户。
# chmod [参数] 权限模式 文件名

参数: -R: 递归设置权限,也就是给子目录中的所有文件设定权限

权限模式

chmod命令的权限模式的格式是[ugoa][[+-=][perms]],也就是[用户身份][[赋予方式][权限]]的格式

  • 用户身份。
  • u:代表所有者(user)。
  • g:代表所属组(group)。
  • o:代表其他人(other)。
  • a:代表全部身份(all)。
  • 赋予方式。
  • +:加入权限。
  • -:减去权限。
  • =:设置权限。
数字权限
  • 4:代表“r”权限。
  • 2:代表“w”权限。
  • 1:代表“x”权限。

chown

  • 命令名称:chown。
  • 英文原意:change file owner and group。
  • 所在路径:/bin/chown。
  • 执行权限:所有用户。
  • 功能描述:修改文件和目录的所有者和所属组。
# chown [参数] 所有者 所属组 文件或者目录

参数: -R: 递归设置权限,也就是给子目录中的所有文件设置权限

Linux中用户组的建立与Windows中是不同的。在Windows中,新建的用户都属于users这个组,而不会建立更多的新组。但是在Linux中,每个用户建立之后,都会建立和用户名同名的用户组,作为这个用户的初始组,user用户组是自动建立的。

chgrp

  • 命令名称:chgrp。
  • 英文原意:change group ownership。
  • 所在路径:/bin/chgrp。
  • 执行权限:所有用户。
  • 功能描述:修改文件和目录的所属组。

chattr

chattr命令用于改变文件的扩展属性。 与chmod这个命令相比,chmod只是改变了文件的读、写、执行权限,更底层的属性控制是由chattr来改变的。

chattr [参数] [模式] [<文件或者目录>]

参数:

  • R: 递归更改目录属性
  • V: 显示命令的执行过程

模式:

  • +: 增加参数
  • -: 移除参数
  • =: 更新为指定的参数
  • A: 告诉系统不要修改这个文件的最后访问时间
  • a: 只能向文件中添加数据,不能删除,多用于服务器日志文件安全
  • i: 设定文件不能被删除,改名,写入或者新增内容

帮助命令

man

  • 命令名称:man。
  • 英文原意:format and display the on-line manual pages。
  • 所在路径:/usr/bin/man。
  • 执行权限:所有用户。
  • 功能描述:显示联机帮助手册。
# man [参数] 命令

参数: -f:查看命令拥有哪个级别的帮助 -k:查看和命令相关的所有帮助

快捷键
快捷键 作用
上箭头 向上移动一行
下箭头 向下移动一行
PgUp 向上翻一页
PgDn 向下翻一页
g 移动到第一页
G 移动到最后一页
q 退出
/字符串 从当前页向下搜索字符串
?字符串 从当前页向上搜索字符串
n 当搜索字符串时可以用n找到下一个
N 反向下一个
帮助级别
级别 作用
1 普通用户可以执行的系统命令和可执行文件的帮助
2 内核可以调用的函数和工具的帮助
3 C语言函数的帮助
4 设备和特殊文件的帮助
5 配置文件的帮助
6 游戏的帮助
7 杂项的帮助
8 超级用户可以执行的系统命令的帮助
9 内核的帮助

想知道这个命令是干什么的,可以执行whatis命令; 想知道命令在哪里,可以执行whereis命令; 想知道当前登录用户是谁,可以执行whoami命令。

info

和man命令不同的是,info命令的帮助信息是一套完整的资料,每个单独命令的帮助信息只是这套完整资料中的某一个小章节。大家可以把info帮助信息看成一部独立的电子书,所以每个命令的帮助信息都会和书籍一样,拥有章节编号。

help

  • 命令名称:help。
  • 英文原意:help。
  • 所在路径:Shell内置命令。
  • 执行权限:所有用户。
  • 功能描述:显示Shell内置命令的帮助。

搜索查找

whereis

  • 命令名称:whereis。
  • 英文原意:locate the binary, source, and manual page files for a command。
  • 所在路径:/usr/bin/whereis。
  • 执行权限:所有用户。
  • 功能描述:查找二进制命令、源文件和帮助文档的命令。
# where [参数] 命令

参数: -b: 查找可执行文件 -m: 查找man帮助文件 -s: 查找源代码文件

which

和whereis命令的区别在于,whereis命令可以在查找到二进制命令的同时,查找到帮助文档的位置; 而which命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令

  • 命令名称:which。
  • 英文原意:shows the full path of (shell) commands。
  • 所在路径:/usr/bin/which。
  • 执行权限:所有用户。
  • 功能描述:列出命令的全路径。
which [参数] 命令名

locate

  • 命令名称:locate。
  • 英文原意:find files by name。
  • 所在路径:/usr/bin/locate。
  • 执行权限:所有用户。
  • 功能描述:按照文件名搜索文件。
# locate [参数] 文件名

参数: -c: 不显示匹配的内容,只显示匹配到的行数 -i: 匹配时忽略大小写 -r: 支持基本正则表达式匹配 --regex: 支持扩展正则表达式匹配

locate命令不会直接搜索硬盘空间,而会搜索locate数据库。这样做的好处是耗费系统资源小、搜索速度快;缺点是数据库不是实时更新的,而要等用户退出登录或重启系统时,locate数据库才会更新,所以我们无法查找到新建立的文件 locate命令的数据库所在位置: /var/lib/mlocate/mlocate.db 可以通过updatedb命令来手工更新这个数据

find

  • 命令名称:find。
  • 英文原意:search for files in a directory hierarchy。
  • 所在路径:/bin/find。
  • 执行权限:所有用户。
  • 功能描述:在目录中搜索文件
# find 搜索路径 [参数] 搜索内容
按照文件名搜索

参数: -name: 按照文件名搜索 -iname: 按照文件名搜索,不区分文件名大小写 -inum: 按照inode号搜索

find命令是完全匹配的,必须和搜索关键字一模一样才会列出。

按照文件大小搜索

参数: -size [+-] 大小: 按照指定大小搜索文件

“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定大小还要小的文件。

按照修改时间搜索

参数: -atime [-n|n|+n]:按照文件访问时间搜索(-n表示文件更改时间距现在n天以内) -mtime [-n|n|+n]:按照文件数据修改时间搜索(+n表示文件更改时间距现在n天以前) -ctime [-n|n|+n]:按照文件状态修改时间搜索(n是距现在第n天) -amin [-n|n|+n]:按照文件访问时间搜索,单位是分钟 -mmin [-n|n|+n]:按照文件数据修改时间搜索,单位是分钟 -cmin [-n|n|+n]:按照文件状态修改时间搜索,单位是分钟

按照权限搜索

参数: -perm 权限模式: 查找文件权限刚好等于“权限模式”的文件 -perm -权限模式:查找文件权限全部包含“权限模式”的文件 -perm +权限模式:查找文件权限包含“权限模式”的任意一个权限的文件

按照所有者和所属组搜索

选项:

  • uid 用户ID: 按照用户ID查找所有者是指定ID的文件
  • gid 组ID: 按照用户组ID查找所属组是指定ID的文件
  • user 用户名:按照用户名查找所有者是指定用户的文件
  • group 组名: 按照组名查找所属组是指定用户组的文件
  • nouser: 查找没有所有者的文件

在Linux中,所有的文件都有所有者,只有一种情况例外,那就是外来文件。

按照文件类型搜索

参数: -type [b|c|d|p|l|f|s|D]

  • b: 块设备文件
  • c: 字符设备文件
  • d: 目录
  • p: 管道文件
  • l: 符号链接文件
  • f: 普通文件
  • s: socket文件
  • D: door
逻辑运算符

参数: -a: and逻辑与 -o: or逻辑或 -not: not逻辑非

xargs

xargs命令是向其他命令传递命令行参数的一个过滤器,它能够将管道或者标准输入传递的数据转换成xargs命令后所跟命令的命令行参数

参数: -n: 指定每行最大参数量n,可以将标准输入的文本划分为多行,每行n个参数,默认空格分隔 -d: 自定义分隔符 -i: 以{}替代前面的结果 -I: 指定一个符号替代前面的结果, 而不用-i参数默认的{} -p: 提示让用户执行后面的命令,y表示执行,n表示不执行 -0: 用null代替空格作为分隔符,配合find命令的-print()选项的输出使用

压缩和解压缩

zip

  • 命令名称:zip。
  • 英文原意:package and compress (archive) files。
  • 所在路径:/usr/bin/zip。
  • 执行权限:所有用户。
  • 功能描述:压缩文件或目录。
# zip [参数] 压缩包名 源文件或者源目录

参数: -r: 压缩目录

unzip

  • 命令名称:unzip。
  • 英文原意:list, test and extract compressed files in a ZIP archive。
  • 所在路径:/usr/bin/unzip。
  • 执行权限:所有用户。
  • 功能描述:列表、测试和提取压缩
# unzip [参数] 压缩包名

参数: -d: 指定解压缩位置

gzip

  • 命令名称:gzip。
  • 英文原意:compress or expand files。
  • 所在路径:/bin/gzip。
  • 执行权限:所有用户。
  • 功能描述:压缩文件或目录。

“.gz”格式是Linux中最常用的压缩格式

# gzip [参数] 源文件

参数:

  • c: 将压缩数据输出到标准输出中,可以用于保留源文件
  • d: 解压缩
  • r: 压缩目录
  • v: 显示压缩文件的信息
  • 数字:用于指定压缩等级,-1压缩等级最低,压缩比最差;-9压缩比最高。默认压缩比是-6

gunzip

  • 命令名称:gunzip。
  • 英文原意:compress or expand files。
  • 所在路径:/bin/gunzip。
  • 执行权限:所有用户。
  • 功能描述:解压缩文件或目录。

tar

  • 命令名称:tar。
  • 英文原意:tar。
  • 所在路径:/bin/tar。
  • 执行权限:所有用户。
  • 功能描述:打包与解打包命令
# tar [参数] [-f 压缩名] 源文件或者目录

参数:

  • c: 创建新的tar包
  • z: 通过gzip压缩或者解压
  • f: 指定压缩包的文件名。压缩包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名
  • v: 显示打包文件过程
  • t: 不解压查看tar包的内容
  • x: 解开tar包
  • C: 指定解压的目录路径
  • h: 打包软链接文件指向的真实源文件

系统相关

sync

  • 命令名称:sync。
  • 英文原意:flush file system buffers。
  • 所在路径:/bin/sync。
  • 执行权限:所有用户。
  • 功能描述:刷新文件系统缓冲区。

shutdown

  • 命令名称:shutdown。
  • 英文原意:bring the system down。
  • 所在路径:/sbin/shutdown。
  • 执行权限:超级用户。
  • 功能描述:关机和重启
shutdown [参数] 时间 [警告信息]

参数: -c: 取消已经执行的shutdown命令 -h: 关机 -r: 重启

shutdown now
shutdown 13:20  
shutdown -p now #poweroff the machine
shutdown -H now #halt the machine  
shutdown -r09:35 #reboot the machine at 09:35am

reboot

若系统的 runlevel 为 0 或 6 ,则重新开机,否则以 shutdown 指令(加上 -r 参数)来取代

reboot [参数]

参数

  • -n : 在重开机前不做将记忆体资料写回硬盘的动作
  • -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
  • -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
  • -f : 强迫重开机,不呼叫 shutdown 这个指令
  • -i : 在重开机之前先把所有网络相关的装置先停止

halt

若系统的 runlevel 为 0 或 6 ,则关闭系统,否则以 shutdown 指令(加上 -h 参数)来取代

halt [参数]

参数

  • -n : 在关机前不做将记忆体资料写回硬盘的动作
  • -w : 并不会真的关机,只是把记录写到 /var/log/wtmp 文件里
  • -d : 不把记录写到 /var/log/wtmp 文件里(-n 这个参数包含了 -d) -f : 强迫关机,不呼叫 shutdown 这个指令
  • -i : 在关机之前先把所有网络相关的装置先停止
  • -p : 当关机的时候,顺便做关闭电源(poweroff)的动作

poweroff

发送一个 ACPI 信号来通知系统关机

poweroff             # poweroff the machine
poweroff --halt      # halt the machine
poweroff --reboot    # reboot the machine

init

init是所有进程的祖先,其进程号始终为1。

init用于切换系统的运行级别,切换的工作是立即完成的。

init 0 # 立即将系统运行级别切换为0,即关机
init 6 # 将系统运行级别切换为6,即重新启动

date

date命令用于显示当前的系统时间或者设置系统时间

date [参数] [+日期格式]

参数:

  • d 时间字符串: 显示指定字符串所描述的时间,而非当前时间
  • f 时间文件: 从日期文件中按行读入时间描述
  • r 文件: 显示指定文件的最后修改时间
  • s 日期时间: 设置系统时间
  • u: 显示或者设置UTC时间

日期格式:

  • %%: 输出字符%
  • %a: 星期名缩写
  • %A: 星期名全写
  • %b: 月名缩写
  • %B: 月名全称
  • %c: 日期和时间
  • %C: 世纪
  • %D: 等于%m/%d/%y
  • %e: 每月的第几天
  • %F: 完整的日期格式
  • %g: 年份的最后两位数字
  • %G: 完整年份
  • %h: 月名缩写,等于%b
  • %H: 24小时制(00-23)
  • %I: 12小时制(00-12)
  • %j: 一年的第几天
  • %k: 24小时制(0-23)
  • %l: 12小时制
  • %m: 月份(01-12)
  • %M: 分(00-59)
  • %n: 换行
  • %N: 纳秒
  • %p: AM/PM
  • %P: am/pm
  • %r: 当下时区的12小时制时间
  • %R: 24小时制的时和分
  • %s: 自UTC时间(1970-01-01 00:00:00)以来所经历的秒数
  • %S: 秒(00-60)
  • %t: 制表符
  • %T: 时间,等于%H:%M:%S
  • %u: 星期(1-7)
  • %U: 一年中的第几周
  • %w: 一周中的第几天(0-6)
  • %W: 一年中的第几周,以周一为每星期的第一天(00-53)
  • %x: 日期
  • %X: 时间
  • %y: 年份的最后两位
  • %Y: 完整年份

常用网络命令

setup

  • 命令名称:setup。
  • 英文原意:A text mode system configuration tool。
  • 所在路径:/usr/bin/setup。
  • 执行权限:所有用户。
  • 功能描述:系统配置工具。

重启网络服务:

# service network restart

ifconfig

  • 命令名称:ifconfig。
  • 英文原意:configure a network interface。
  • 所在路径:/sbin/ifconfig。
  • 执行权限:超级用户。
  • 功能描述:配置网络接口

ifup ifdown

ifup和ifdown是两个非常简单的命令,其作用类似于Windows中的启用和禁用网卡,主要用于启用和关闭网卡。

ping

  • 命令名称:ping。
  • 英文原意:send ICMP ECHO_REQUEST to network hosts。
  • 所在路径:/bin/ping。
  • 执行权限:所有用户。
  • 功能描述:向网络主机发送ICMP请求。
# ping [参数] IP

参数: -b: 后面加入广播地址,用于对整个网段进行探测 -c 次数:用于指定ping的次数 -s 字节:指定探测包的大小

netstat

  • 命令名称:netstat。
  • 英文原意:Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships。
  • 所在路径:/bin/netstat。
  • 执行权限:所有用户。
  • 功能描述:输出网络连接、路由表、接口统计、伪装连接和组播成员。
# netstat [参数]

参数:

  • a: 列出所有网络状态,包括Socket程序
  • c 秒数:指定每隔几秒刷新一次网络状态
  • n: 使用IP地址和端口号显示,不使用域名与服务名
  • p: 显示PID和程序名
  • t: 显示使用TCP协议端口的连接状况
  • u: 显示使用UDP协议端口的连接状况
  • l: 仅显示监听状态的连接
  • r: 显示路由表

write

  • 命令名称:write。
  • 英文原意:send a message to another user。
  • 所在路径:/usr/bin/write。
  • 执行权限:所有用户。
  • 功能描述:向其他用户发送信息
# write 用户名 [终端号]

wall

write命令用于给指定用户发送信息,而wall命令用于给所有登录用户发送信息,包括你自己。执行时,在wall命令后加入需要发送的信息即可

mail

  • 命令名称:mail。
  • 英文原意:send and receive Internet mail。
  • 所在路径:/bin/mail。
  • 执行权限:所有用户。
  • 功能描述:发送和接收电子邮件。