命令解释
一、更改主机名。
先将主机名改成自己名字-hbza.输入 vi /etc/hostname
更改主机名,点击esc,shift+:,wq!
然后重启。,打开终端输入Hostname,查看主机名是否更改。
二、命令解释。
1.man命令可用于查看命令的具体可用参数与对象的格式等等。
输入man man 可查看 自身的帮助信息。
代码 | 代表内容 | |
1 | 普通的命令 | |
2 | 内核调用的函数与工具 | |
3 | 常见的函数与函数库 | |
4 | 设备文件的说明 | |
5 | 配置文件 | |
6 | 游戏 | |
7 | 惯例与协议 | |
8 | 管理员可用的命令 | |
9 | 内核相关的文件 | |
结构名称 | 代表意义 | |
NAME | 命令的名称 | |
SYNOPSYS | 参数的大致使用方法 | |
DESCRIPTION | 介绍说明 | |
EXAMPLES | 演示(附带简单说明) | |
OVERVIEW | 概述 | |
DEFAULTS | 默认的功能 | |
OPTIONS | 具体的可用选项(带介绍) | |
ENVIRONMENT | 环境变量 | |
FILES | 用到的文件 | |
SEE ALSO | 相关的资料 | |
HISTORY | 维护历史与联系方式 |
man命令的操作按键:
按键 | 用处 |
空格键 | 向下翻一页。 |
[Page Down] | 向下翻一页。 |
[Page Up] | 向上翻一页。 |
[HOME] | 直接前往首页。 |
[END] | 直接前往尾页。 |
/关键词 | 从上至下搜索某个关键词,如"/linux"。 |
?关键词 | 从下至上搜索某个关键词,如"?linux"。 |
n | 定位到下一个搜索到的关键词。 |
N | 定位到上一个搜索到的关键词。 |
q | 退出帮助文档。 |
2.echo命令用于在终端显示字符串或变量。用echo命令查看SHELL变量的值。输入echo $SHELL
3.强大的date命令能够按照指定格式显示系统的时间或日期,只需键入”+”号开头的字符串指定其格式,详细格式如下:
参数 | 作用 |
%t | 跳格[TAB键] |
%H | 小时(00-23) |
%I | 小时(01-12) |
%M | 分钟(00-59) |
%S | 秒(00-60) |
%X | 相当于%H:%M:%S |
%Z | 显示时区 |
%p | 显示本地AM或PM |
%A | 星期几 (Sunday-Saturday) |
%a | 星期几 (Sun-Sat) |
%B | 完整月份 (January-December) |
%b | 缩写月份 (Jan-Dec) |
%d | 日(01-31) |
%j | 一年中的第几天(001-366) |
%m | 月份(01-12) |
%Y | 完整的年份
|
- .看主机名称。输入echo $HOSTNAME
- .date命令用于显示/设置系统的时间或日期,格式为:”date [选项] [+指定的格式]”。
-
按照“年-月-日 小时:分钟:秒”的格式。输入date "+%Y-%m-%d %H:%M:%S"
5. 设置系统时间为2015年9月1日8点半。输入date -s "20150901 8:30:00"
6.reboot命令用于重启系统(仅root用户可以使用),格式为:”reboot”
7.ifconfig用于获取网卡配置与网络状态等信息:格式为”ifconfig [网络设备] [参数]”。
查看本机当前的网卡配置与网络状态等信息.输入ifconfig
8.uname命令用于查看系统内核版本等信息,格式为:“uname [-a]”。
查看系统的内核名称、内核发行版、内核版本、节点名、硬件名称、硬件平台、处理器类型、操作系统等信息。输入uname -a
9.uptime命令用于查看系统的负载情况,格式为:“uptime”。
输入uptime
10.free命令用于显示当前系统中内存的使用量情况,格式为:“free [-m/-g]”。
以m为单位显示当前系统中内存的使用量情况,输入free -m
11.who命令用于查看当前登入主机的用户情况,格式为:”who [参数]”。
查看当前登入主机用户的情况,输入who
12.last命令用于查看所有系统的登入记录,格式为:”last [参数]”。
查看系统的登入记录,输入last
13.history命令用于显示历史执行过的命令,格式为:“history [-c]”。
查看当前用户在系统中执行过的命令,输入history
14.清空该用户在本机中执行过命令的历史记录,输入history -c
15.pwd命令用于显示当前的工作目录,格式为:“pwd [选项]”。
输入pwd
pwd命令用于显示当前的工作目录,格式为:“pwd [选项]”。
参数 | 作用 |
-P | 显示真实路径。(即非快捷链接的地址) |
16.d命令用于切换工作路径,格式为:“cd [目录名称]”。
切换到家目录输入
切换到上一次目录cd -
切换到上级目录cd ..
切换到其他用户的家目录
17.ls命令用于查看目录中有那些文件,格式为:“ls [选项] [文件] ”。
查看当前目录下有那些文件(长格式),输入ls -al
18.查看/etc目录的权限与属性:ls -ld /etc
查看/etc目录中有那些文件:ls /etc
19.at命令用于查看纯文本文件(较短的),格式为:“cat [选项] [文件]”。
查看文本文件:cat 文件名
参数 | 作用 |
-n | 显示行号 |
-b | 显示行号(不包括空行) |
-A | 显示出“不可见”的符号,如空格,tab键等等 |
20more命令用于查看纯文本文件(较长的),格式为:“more [选项] 文件”。
查看文本文件前五行
head命令用于查看纯文本文档的前N行,格式为:“head [选项] [文件]”。
查看文本文件前20行:head -n 20 文件名
参数 | 作用 |
-n 10 | 显示10行 |
-n -10 | 正常输出(如cat命令),但不显示最后的10行 |
21.tail命令用于查看纯文本文档的后N行,格式为:“tail [选项] [文件]”。
查看文本文件后20行:tail -n 20 文件名
参数 | 作用 |
-n 10 | 显示后面的10行 |
-f | 持续刷新显示的内容 |
22.wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
统计当前系统中的用户个数:wc -l /etc/passwd
wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
参数 | 作用 |
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
23.cut命令用于通过列来提取文本字符,格式为:“cut [参数] 文本”。
获取当前系统中所有用户的名称:
参数作用:-d以”:”来做分隔符,-f参数代表只看第一列的内容:cut -d: -f1 /etc/passwd
获取root用户的默认SHELL解释器:grep ^root /etc/passwd | cut -d: -f 7
cut命令用于通过列来提取文本字符,格式为:“cut [参数] 文本”。
参数 | 作用 |
-d 分隔符 | 指定分隔符,默认为Tab。 |
-f | 指定显示的列数。 |
-c | 单位改为字符 |
文件目录管理命令
24.touch命令用于创建空白文件与修改文件时间,格式为:“touch [选项] [文件]”。
创建1.txt文件。
touch -d “2 days ago” test,便将访问与修改时间修改为了2天前(伪造了自己没有动过该文件的假象)。
参数 | 作用 |
-a | 近修改“访问时间”(atime) |
-m | 近修改“更改时间”(mtime) |
-d | 同时修改atime与mtime |
-t | 要修改成的时间[YYMMDDhhmm] |
25mkdir用于创建空白文件夹。输入为 mkdir 文件名
参数 | 作用 |
-m=MODE | 默认的文件目录权限,如"-m 755" |
-p | 连续创建多层目录(若文件夹已存在则忽略) |
-v | 显示创建的过程 |
输入:mkdir linuxprobe创建一个名字叫linuxprobe的目录:
使用ls命令查看该目录的权限属性等信息:
输入: ls -ld linuxprobe/
Cd+变量!$或(键盘按键)代表上一条命令的参数
一次创建5个目录a/b/c/d/e:
输入 mkdir -p a/b/c/d/e
查看目录的属性,验证是否成功:
输入 ls -ld a/b/c/d/e/
26.命令用于复制文件或目录,格式为:“cp [选项] 源文件 目标文件”。
复制命令的三种情况:
目标文件是一个目录,会将源文件复制到该目录中。
目标文件是一个文件,会将源文件覆盖该文件。
目标文件不存在,将会复制源文件并修改为目标文件的名称(重命名)。
参数 | 作用 |
-p | 保留原始文件的属性 |
-d | 若对象为"链接文件",则保留该"链接文件"的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(p,d,r为上述的参数) |
输入 touch install.log创建一个名为install.log的文件:
将install.log复制为x.log
输入:cp install.log x.log
27.mv命令用于移动文件或改名,格式为:“mv [选项] 文件名 [目标路径|目标文件名]”
将1.1.txt改名为2.txt
28.rm命令用于删除文件或目录,格式为:“rm [选项] 文件”。
删除普通文件并提示确认信息:“rm 文件名”
删除普通文件或目录文件,不提示:“rm -rf 文件或目录名”
参数 | 作用 |
-f | 忽略警告信息 |
-i | 删除前先询问 |
-r | 删除文件夹 |
查看当前目录下的文件:
删除install.log文件,输入”y”即确认:rm install.log
Linux系统中还有一个rmdir命令,它不同于rm -rf命令会删除一切,而是仅删除空目录,遇到目录内有文件时则报错。
用户与组管理命令
29.seradd命令用于创建新的用户,格式为:“useradd [选项] 用户名”。
参数 | 作用 |
-d | 指定用户的家目录(默认为/home/username) |
-D | 展示默认值 |
-e | 帐号有效截至日期,格式:YYYY-MM-DD. |
-g | 指定一个初始用户组(必须已存在) |
-G | 指定一个或多个扩展用户组 |
-N | 不创建与用户同名的用户组 |
-s | 指定默认的Shell |
-u | 指定用户的UID |
创建名为linuxprobe的用户,并定义家目录路径、UID以及登陆解释器(不允许登陆):
查看linuxprobe用户的基本信息: id linuxprobe
30.passwd命令用于修改用户的密码,格式为:“passwd [选项] [用户名]”。
修改当前用户的密码:“passwd”
修改其他用户的密码:“passwd 其他用户名”
参数 | 作用 |
-l | 锁定用户禁止其登陆 |
-u | 解除锁定,允许用户登陆。 |
--stdin | 允许从标准输入修改用户密码,如(echo "NewPassWord" | passwd -stdin Username) |
-d | 使帐号无密码 |
-e | 强制用户下次登陆时修改密码 |
-S | 显示用户的密码状态 |
修改linuxprobe用户密码: 输入passwd
31.userdel命令用于删除用户所有表格,格式为:“userdel [选项] 用户名”。
删除用户与其家目录:
[root@linuxprobe ~]# userdel -d 用户名
参数 | 作用 |
-f | 强制删除用户,家目录与其相关文件 |
-r | 同时删除用户,家目录与其相关文件 |
32.usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。
参数 | 作用 |
-c | 填写帐号的备注信息 |
-d -m | -m与-d连用,可重新指定用户的家目录并自动旧的数据转移过去。 |
-e | 帐户到期时间,格式“YYYY-MM-DD” |
-g | 变更所属用户组 |
-G | 变更扩展用户组 |
-L | 锁定用户禁止其登陆系统 |
-U | 解锁用户,允许其登陆系统 |
-s | 变更默认终端 |
-u | 修改用户的UID |
33.groupadd命令用于创建群组,格式为:”groupadd [选项] 群组名”。
创建名称为linuxprobe的用户群组: groupadd linuxprobe
打包压缩文件命令
34tar命令用于对文件打包压缩或解压,格式为:“tar [选项] [文件]”。
打包并压缩文件:“tar -czvf 压缩包名.tar.gz 文件名”
解压并展开压缩包:“tar -xzvf 压缩包名.tar.gz”
参数 | 作用 |
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有那些文件 |
-z | 用Gzip压缩或解压 |
-j | 用bzip2压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-p | 保留原始的权限与属性 |
-P | 使用绝对路径来压缩 |
-C | 指定解压到的目录 |
输入tar czvf etc.tar.gz /etc将/etc目录内文件打包并通过gzip格式压缩:
解压/etc目录内文件。输入:tar -xzvf etc. Tar.gz
35.将etc.tar.gz解压到/root/etc目录中: mkdir /root/etc
开始解压etc.tar.gz文件:tar xzvf etc.tar.gz -C /root/etc
文件查询搜索命令
36.grep命令用于对文本进行搜索,格式为:“grep [选项] [文件]”。
搜索某个关键词:“grep 关键词 文本文件”
参数 | 作用 |
-b | 将可执行文件(binary)当作文本文件(text)来搜索 |
-c | 仅显示找到的次数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择——仅列出没有“关键词”的行。 |
搜索在/etc/passwd中”/sbin/nologin”出现的行,找出系统中不允许登陆的用户。
输入:grep /sbin/nologin /etc/passwd
找出文件“/usr/share/gedit/plugins/snippets/docbook.xml”中所有包含entry的行并输出到/root/lines:
输入:grep entry /usr/share/gedit/plugins/snippets/docbook.xml >> /root/lines
37find命令用于查找文件,格式为:“find [查找路径] 寻找条件 操作”。
“~”代表用户的家目录,“.”代表当前目录,“/”代表根目录。
参数 | 作用 |
-name | 匹配名称 |
-perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所有组 |
-mtime -n +n | 匹配修改内容的时间(-n指n天以内,+n指n天以前) |
-atime -n +n | 匹配访问文件的时间-n指n天以内,+n指n天以前 |
-ctime -n +n | 匹配修改权限的时间-n指n天以内,+n指n天以前 |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所有组的文件 |
-newer f1 !f2 | 匹配比文件f1新却比f2旧的文件 |
--type b/d/c/p/l/f | 匹配文件类型(块设备、目录、字符设备、管道、链接文件、文件文件) |
--size | 匹配文件的大小(+50k查找超过50k的文件,而-50k则代表查找小于50k的文件) |
-prune | 忽略某个目录 |
--exec {} \; | 后面可接对搜索到结果进一步处理的命令(下面会有演示) |
搜索在/etc/中所有以host开头的文件:
其中的”host*”表示所有以host开头的文件: find /etc -name "host*" -print
搜索整个系统中所有包含SUID的文件(因SUID的数字表示法是4,而减号表示只要包含即可)。
输入: find / -perm -4000 -print
38找出用户linuxprobe的文件并复制到/root/findresults目录。
重点是”-exec {} \;”其中的{}代表find命令搜索出的文件,结尾必须是\;
输入:find / -user linuxprobe -exec cp -arf {} /root/findresults/ \;