一、文件与目录操作
步骤一:
pwd
命令
格式:
pwd
功能:显示当前所在目录(即工作目录)。
[root@localhost ~]#
pwd
/root
步骤二:
ls
命令
格式:
ls [
选项
] [
文件
|
目录
]
功能:显示指定目录中的文件或子目录信息。当不指定文件或目录时,显示
当前工作目录中的文件或子目录信息。
命令常用选项如下:
-a
:全部的档案,连同隐藏档
(
开头为
.
的档案
)
一起列出来。
-l
:长格式显示,包含文件和目录的详细信息。
-R
:连同子目录内容一起列出来。
说明:命令
“ls –l”
设置了别名:
ll
,即输入
ll
命令,执行的是
ls –l命令
[root@localhost ~]#
ls -a /
. bin dev home lib64 mnt proc run srv tmp var
.. boot etc lib media opt root sbin sys usr
[root@localhost ~]#
ls -l /
lrwxrwxrwx. 1 root root 7 12
月
20 2021 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 12
月
20 2021 boot
drwxr-xr-x. 20 root root 3280 12
月
20 2021
[root@localhost ~]#
ls -R /home/
步骤三:
cd
命令
格式:
cd <
路径
>
功能:用于切换当前用户所在的工作目录,其中路径可以是绝对路径也可以
是相对路径。
[root@localhost ~]#
cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]#
pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]#
cd ..
[root@localhost sysconfig]#
ls
anaconda cpupower init kernel network-scripts selinux
authconfig crond ip6tables-config man-db rdisc sshd
cbq ebtables-config iptables-config modules readonly-root
wpa_supplicant
chronyd firewalld irqbalance netconsole rsyslog
console grub kdump network run-parts
[root@localhost sysconfig]#
cd ./network-scripts/
[root@localhost network-scripts]#
pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]#
步骤四:
mkdir
命令
格式:
mkdir [
选项
]
目录
功能:用于创建目录。创建目录前需保证当前用户对当前路径有修改的权
限。参数
-p
用于创建多级文件夹。
[root@localhost ~]#
mkdir test
[root@localhost ~]#
ls
anaconda-ks.cfg test
[root@localhost ~]#
mkdir -p /test/test1/test2
步骤五:
rm
命令
格式:
rm [
选项
] <
文件
>
功能:用于删除文件或目录,常用选项
-r -f
,
-r
表示删除目录,也可以用于
删除文件,
-f
表示强制删除,不需要确认。删除文件前需保证当前用户对当
前路径有修改的权限。
[root@localhost ~]#
rm -rf /test/
步骤六:
cp
命令
格式:
cp [
选项
] <
文件
> <
目标文件
>
功能:复制文件或目录。
[root@localhost ~]#
cp /etc/profile ./
[root@localhost ~]#
ls
anaconda-ks.cfg profile test
步骤七:
mv
命令
格式:
mv [
选项
] <
文件
> <
目标文件
>
功能:移动文件或对其改名。常用选项
-i -f -b
,
-i
表示若存在同名文件,则向用户
询问是否覆盖;
-f
直接覆盖已有文件,不进行任何提示;
-b
当文件存在时,覆盖
前为其创建一个备份。
[root@localhost ~]#
ls
anaconda-ks.cfg profile test
[root@localhost ~]#
mv profile test/
[root@localhost ~]#
ls test/
Profile
步骤八:
cat
命令
格式:
cat [
选项
] [
文件
]
功能:查看文件内容。常用选项:
-n
显示行号(空行也编号)。
[root@localhost ~]#
cat -n test/profile
1 # /etc/profile
2
3 # System wide environment and startup programs, for login setup
4 # Functions and aliases go in /etc/bashrc
5
6 # It's NOT a good idea to change this file unless you know what you
7 # are doing. It's much better to create a custom.sh shell script in
8 # /etc/profile.d/ to make custom changes to your environment, as this
9 # will prevent the need for merging in future updates.
10
11 pathmunge () {
12 case ":${PATH}:" in
13 *:"$1":*)
步骤九:
tar
命令
格式:
tar [
选项
] [
档案名
] [
文件或目录
]
功能:为文件和目录创建档案。利用
tar
命令,可以把一大堆的文件和目录
全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便
于网络传输是非常有用的。该命令还可以反过来,将档案文件中的文件和目
录释放出来。
常用选项:
-c
建立新的备份文件。
-C <
目录
>
切换工作目录,先进入指定目录再执行压缩
/
解压缩操作,可用于
仅压缩特定目录里的内容或解压缩到特定目录。
-x
从归档文件中提取文件。
-z
通过
gzip
指令压缩
/
解压缩文件,文件名为
*.tar.gz
。
-f<
备份文件
>
指定备份文件。
-v
显示命令执行过程。
[root@localhost ~]#
ls
anaconda-ks.cfg test
[root@localhost ~]#
tar -cvf test.tar test
test/
test/profile
[root@localhost ~]#
ls
anaconda-ks.cfg test test.tar
[root@localhost ~]#
tar -zcvf test.tar.gz test
test/
test/profile
[root@localhost ~]#
ls
anaconda-ks.cfg test test.tar test.tar.gz
[root@localhost ~]#
tar -zxvf test.tar.gz -C /opt/
test/
test/profile
[root@localhost ~]#
ls /opt/
Test
二:用户操作
步骤一:
useradd
命令
格式:
useradd
用户名
9
功能:创建新用户,该命令只能由
root
用户使用。
[root@localhost ~]#
useradd teacher
[root@localhost ~]#
id teacher
uid=1000(teacher) gid=1000(teacher)
组
=1000(teacher)
步骤二:
passwd
命令
格式:
passwd
用户名
功能:设置或修改指定用户的口令。
[root@localhost ~]#
passwd teacher
更改用户
teacher
的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd
:所有的身份验证令牌已经成功更新。
步骤三:
chown
命令
格式:
chown [
选项
]
功能:将文件或目录的拥有者改为指定的用户或组,用户可以是用户名或者
用户
ID
,组可以是组名或者组
ID
,文件是以空格分开的要改变权限的文件
列表支持通配符。选项
“-R”
表示对目前目录下的所有文件与子目录进行相同
的拥有者变更。
[root@localhost ~]#
chown teacher:teacher test.tar.gz
[root@localhost ~]#
ll
总用量
20
-rw-------. 1 root root 1241 12
月
20 2021 anaconda-ks.cfg
drwxr-xr-x. 2 root root 21 11
月
9 23:19 test
-rw-r--r--. 1 root root 10240 11
月
10 00:01 test.tar
-rw-r--r--. 1 teacher teacher 1008 11
月
10 00:02 test.tar.gz
[root@localhost ~]#
chown -R teacher:teacher test
[root@localhost ~]#
ll
总用量
20
-rw-------. 1 root root 1241 12
月
20 2021 anaconda-ks.cfg
drwxr-xr-x. 2 teacher teacher 21 11
月
9 23:19 test
-rw-r--r--. 1 root root 10240 11
月
10 00:01 test.tar
-rw-r--r--. 1 teacher teacher 1008 11
月
10 00:02 test.tar.gz
[root@localhost ~]#
ll test/
10
11
总用量
4
-rw-r--r--. 1 teacher teacher 1795 11
月
9 23:17 profile
步骤四:
chmod
命令
格式:
chmod [-R]
模式 文件或目录
功能:修改文件或目录的访问权限。选项
“-R”
表示递归设置指定目录下的所
有文件和目录的权限。
模式为文件或目录的权限表示,有三种表示方法。
(
1
) 数字表示
用
3
个数字表示文件或目录的权限,第
1
个数字表示所有者的权限,第
2
个
数字表示与所有者同组用户的权限,第
3
个数字表示其他用户的权限。每类
用户都有
3
类权限:读、写、执行,对应的数字分别是
4
、
2
、
1
。一个用户
的权限数字表示为三类权限的数字之和,如一个用户对
A
文件拥有读写权
限,则这个用户的权限数字为
6
(
4+2=6
)。
示例:
[root@localhost ~]#
chmod 764 test.tar.gz
[root@localhost ~]#
ll
总用量
20
-rw-------. 1 root root 1241 12
月
20 2021 anaconda-ks.cfg
drwxr-xr-x. 2 teacher teacher 21 11
月
9 23:19 test
-rw-r--r--. 1 root root 10240 11
月
10 00:01 test.tar
-rwxrw-r--. 1 teacher teacher 1008 11
月
10 00:02 test.tar.gz
(
2
)字符赋值
用字符
u
表示所有者,用字符
g
表示与所有者同组用户,用字符
o
表示其他
用户。用字符
r
、
w
、
x
分别表示读、写、执行权限。用等号
“=”
来给用户赋
权限。
示例:
[root@localhost ~]#
chmod u=rwx,g=rw,o=r test.tar.gz
[root@localhost ~]#
ll
总用量
20
-rw-------. 1 root root 1241 12
月
20 2021 anaconda-ks.cfg
drwxr-xr-x. 2 teacher teacher 21 11
月
9 23:19 test
-rw-r--r--. 1 root root 10240 11
月
10 00:01 test.tar
-rwxrw-r--. 1 teacher teacher 1008 11
月
10 00:02 test.tar.gz
(
3
)字符加减权限
用字符
u
表示所有者,用字符
g
表示与所有者同组用户,用字符
o
表示其他
用户。用字符
r
、
w
、
x
分别表示读、写、执行权限。用加号
“+”
来给用户加
权限,加号
“-”
来给用户减权限。
12
示例:
[root@localhost ~]#
chmod u+x,g+x,o-w test.tar.gz
[root@localhost ~]#
ll
总用量
20
-rw-------. 1 root root 1241 12
月
20 2021 anaconda-ks.cfg
drwxr-xr-x. 2 teacher teacher 21 11
月
9 23:19 test
-rw-r--r--. 1 root root 10240 11
月
10 00:01 test.tar
-rwxrwxr--. 1 teacher teacher 1008 11
月
10 00:02 test.tar.gz
步骤五:
su
命令
格式:
su [-]
用户名
功能:将当前操作员的身份切换到指定用户。如果使用选项
“-”
,则用户切换
后使用新用户的环境变量,否则环境变量不变。
[root@localhost ~]#
su - teacher
[teacher@localhost ~]$
exit
登出
三:文本操作
步骤一:命令模式
用户刚刚启动
vi/vim
,便进入了命令模式。此状态下敲击键盘动作会被
vi
识别为命令,而非输入字符。以下是常用的几个命令:
i
切换到输入模式,以输入字符。
x
删除当前光标所在处的字符。
:
切换到末行模式,用以在最底一行输入命令
[root@localhost ~]#
cd test
[root@localhost test]#
vi profile
之后输入
i
、
x
或
:
会有相应的效果
步骤二:输入模式
在输入模式下可以对文件执行写操作,编写完成后按
Esc
键即可返回命令模式。
步骤三:末行模式
如果要保存、查找或者替换一些内容等,就需要进入末行模式。以下是常用的几个命
令:
Set nu
:每一行显示行号
r
文件名:读取指定的文件。
w
文件名:将编辑内容保存到指定的文件内。
q
:退出
vi
wq
:保存文件并退出
vi
q!
:强制退出
vi
,不管是否保存文档内容。
四:系统操作
步骤一:
clear
命令
格式:
clear
功能:清除屏幕。实质上只是让终端显示页向后翻了一页,如果向上滚动屏
幕还可以看到之前的操作信息。
[root@localhost test]#
clear
步骤二:
hostname
命令
格式:
hostname [
选项
]
功能:用于显示和设置系统的主机名称。在使用
hostname
命令设置主机名
后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机
名。如果需要永久修改主机名,需要同时修改
/etc/hostname
的相关内容。
常用选项:
-a
显示主机别名,
-i
显示主机的
ip
地址。
[root@localhost ~]#
hostname
localhost
步骤三:
hostnamectl
命令
格式
1
:
hostnamectl
功能:显示当前主机的名称和系统版本。
格式
2
:
hostnamectl set-hostname <host-name>
功能:永久设置当前主机的名称。
示例:
13
[root@localhost ~]#
hostnamectl set-hostname master
[root@localhost ~]#
bash
[root@master ~]#
步骤四
:ip
命令
CentOS 7
已不使用
ifconfig
命令,其功能可通过
ip
命令代替。
格式
1
:
ip link <
命令选项
> dev <
设备名
>
功能:对网络设备(网卡)进行操作,选项
add
、
delete
、
show
、
set
分别对
应增加、删除、查看和设置网络设备。
示例:
[root@master ~]#
ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
mode DEFAULT qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state
UP mode DEFAULT qlen 1000
link/ether 00:0c:29:b7:35:be brd ff:ff:ff:ff:ff:ff
格式
2
:
ip address <
命令选项
> dev <
设备名
>
功能:对网卡的网络协议地址(
IPv4/IPv6
)进行操作,选项
add
、
change
、
del
、
show
分别对应增加、修改、删除、查看
IP
地址。
示例:
#
这里将
address
缩写为
addr
[root@master ~]#
ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen
1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state
UP qlen 1000
link/ether 00:0c:29:b7:35:be brd ff:ff:ff:ff:ff:ff
inet 192.168.47.140/24 brd 192.168.47.255 scope global dynamic ens33
valid_lft 1610sec preferred_lft 1610sec
inet6 fe80::29cc:5498:c98a:af4b/64 scope link
14
15
valid_lft forever preferred_lft forever
步骤五:
systemctl
命令
格式:
systemctl <
命令选项
> service_name.service
功能:管理系统中的服务,
“.service”
表示管理的服务均包含了一个
以
.service
结尾的文件,存放于
/lib/systemd/
目录中,可以省略。命令选项
有
start
、
restart
、
reload
、
stop
、
status
,分别对应服务的启动、重启、重
新加载、停止和显示状态。另外选项
enable
表示开机时启动,
disable
表示
撤销开机启动。
示例:
#
启动网络服务
[root@master ~]#
systemctl start network
#
关闭防火墙,注意
CentOS 7
的防火墙服务名称改为
firewalld
[root@master ~]#
systemctl stop firewalld
#
查看
ssh
服务的状态
[root@master ~]#
systemctl status sshd
#
设置
ssh
服务开机启动
[root@master ~]#
systemctl enable sshd
步骤六:
reboot
命令
格式:
reboot
功能:用于重新启动计算机,但是机器重启必须要
root
用户才有权限。
注意
:
本操作无需在平台系统执行
[root@master ~]#
reboot
步骤八:
poweroff
命令
格式:
poweroff
功能:用来关闭计算机操作系统并且切断系统电源。如果确认系统中已经没
有用户存在且所有数据都已保存,需要立即关闭系统,可以使用
poweroff
命令。
注意
:
本操作无需在平台系统执行
[root@master ~]#
poweroff
步骤九:
export
命令
格式:
export [
选项
] [
变量名
]
功能:用于将
Shell
变量输出为环境变量,或者将
Shell
函数输出为环境变
量。一个变量创建时,它不会自动地为在它之后创建的
Shell
进程所知,而
命令
export
可以向后面的
Shell
传递变量的值。当一个
Shell
脚本调用并执行
时,它不会自动得到父脚本(调用者)里定义的变量的访问权,除非这些变
量已经被显式地设置为可用。
export
命令可以用于传递一个或多个变量的值
到任何子脚本。
常用选项:
-f
代表
[
变量名称
]
中为函数名称。
-n
删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行
环境中。
-p
列出所有的
Shell
赋予程序的环境变量。
示例:
[root@master ~]#
export -p
#
列出当前所有的环境变量
[root@master ~]#
export MYENV=8
#
定义环境变量,并赋值
MYENV=8
步骤十:
echo
命令
格式:
echo [
字符串
]
功能:用于在终端设备上输出字符串或变量提取后的值。一般使用在变量前
加上
$
符号的方式提取出变量的值,例如:
$PATH
然后再用
echo
命令予以
出。
示例:
#
输出一段字符串
LinuxCool.com
[root@master ~]#
echo "LinuxCool.com"
LinuxCool.com
#
输出变量
PATH
值
[root@master ~]#
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
步骤十一:
source
命令
格式:
source [
文件
]
功能:用于重新执行刚修改的初始化文件,使之立即生效,而不必注销用
户
,
重新登录。
示例:
#
读取和执行
/etc/profile
文件
[root@master ~]#
source /etc/profile