1、Shell 概念:什么是 shell,Linux 的 shell 有哪几种?CentOS7.6 用的是何种 shell?
shell是Linux系统的外壳,为用户提供使用操作系统的接口,是命令语言,命令解释程序及程序设计语言的统称。
shell是命令解释器,它解释用户输入的命令并把它们送到内核中去执行。
Shell有多种类型,如bash、csh、ksh、kcsh、sh、nologin、zsh等。
Centos7.6用的是bash。
2、重 启 和 关 机 命 令
shutdown now(关机命令)
reboot(重启命令)
3、如何通过命令行重启 linux 操作系统?
shutdown -r now
或者 reboot
或者 init 6
4、查找ls命令
find / -name ls
find指令介绍:
5、 在/etc 目录下查找以 “pass”开头的文件
find /etc -name ‘pass*’
6、在 server 主机中把/etc 目录打包压缩到/mnt 中,名字为 etc.tar.gz 利用 tar -zcf 进行打包压缩
tar -zcf /mnt/etc.tar.gz /etc/
7、通过 tar 命令将/etc/passwd 文件打包压缩成/root/file.tar.gz
tar -zcf /root/file.tar.gz /etc/passwd
8、创建空文件夹/web/test1,并将 file.tar.bz2 解包并释放到/web/test1 目录下?
#mkdir -p /web/test1
#tar -xf file.tar.bz2 -C /web/test1
【注意】
当一次性创建多层不存在的目录的时候,添加-p参数
-C代表change目录的意思
-x:解压文件
9、将所有*.png 文件打成一个名为 all.tar 的包,-c 表示产生新的包,-f 指定包的文件名。
$ tar -cf all.tar *.png
10、解压缩:
tar -xvf file.tar
tar -zxvf file.tar.gz
tar -xjvf file.tar.bz2
11、如何查看/etc 下的所有文件,并以人性化的长格式显示能还能区分是什么文件
ls -alh –color /etc(显示隐藏文件)
ls -alh /etc
ll -ah /etc
12、如何最快的返回到当前账户的宿主目录
cd ~
cd
13、如何只查看/etc 单个目录的信息,并以长格式显示
ls -ld /etc (-d 只显示目录本身的属性)
ll -d /etc
[注]ls命令的三个属性 -a -l -d
ll:罗列出当前文件或目录的详细信息,含有时间、读写权限、大小、时间等信息 ,像 Windows 显示的详细信息。ll 是“ls -l”的别名。
14、如何查看/etc 所占的磁盘空间
du -h /etc
15、如何通过 vim 编辑打开/tmp/test.conf?
cd /tmp
vim /tmp/test.conf
or
vim /tmp/test.conf
16、在当前目录下建立文件 exam.c, 将文件 exam.c 拷贝到/tmp 这个目录下, 并改名为shiyan.c。
touch exam.c
cp /root/exam.c /tmp/shiyan.c
17、打印当前目录(隐藏文件也显示)。
ls -a
18、在当前目录中新建文件 text 并设置文件的属性为文件属主(u)增加执行权限与文件属主同组用户(g)增加写权限其他用户(o) 删除读权限。
touch text
chmod u+x text
chmod g+w text
chmod o-r text
19、创建用户 xu 和 liu 并将/home/xu 目录中的所有文件拷贝到目录/home/liu 中。(用 cat 创建一个 test.txt 到 /home/xu 后代表不空了)
useradd xu
useradd liu
ll /home/xu
cd /home/xu
cp -r /home/xu/* /home/liu
20、创建新用户 wen,设置用户组为 gwen,并创建 home 目录。
useradd -m wen(-m,–create-home创建用户的主目录)
usermod -g gwen wen (-g,–gid GROUP 强制使用GROUP为新主组)
21、对特定用户 wen 设置 ACL 权限,使其对文件 testfile 具有读写权。
为用户设置ACL权限语法:
setfacl -m u:用户名:权限(rwx)文件名
-m:设置后续的acl参数,不可与-x一起使用
setfacl -m u:wen:rw testfile
管理ACL权限用getfacl命令,可以查看文件或目录的ACL设置
语法:getfacl 目标文件或目录
23、列出/home 目录下所有的文件包括隐藏文件。
ls -a /home
24、在当前目录中创建目录 aaa,并把该目录的权限设置为只有文件主有读、写和执行权限。
mkdir aaa
chmod 700 aaa
25、建立一个新用户 user2 并把它加入到 root 组中,设置 user2 的密码为:1
useradd -g root user2
ll /home
passwd user2 1
26、建立文件 file1.txt 并更名为 file2.txt。
touch file1.tet
mv file1.txt file2.txt
27、建立新用户 newstudent ,设置密码 123456,给用户密码加锁。
useradd newstudent
passwd newstudent
然后会出现——》Enter new UNIX passwd:123456(输入要设置的密码)
usermod -l newstudent
(-l表示加锁)
28、新建一个组 group1 ,将 root 用户添加到该组,并查看是否添加成功
groupadd group1
gpasswd -a root group1
id root
groups root
或者:
groupadd group1 && gpasswd -a root group1
id root && groups root
29、添加用户到某一个组 可以使用 usermod -G group_name user_name 这个命令可以添加一个用户到指定的组,但是以前添加的组就会清空掉。
所以想要添加一个用户到一个组,同时保留以前添加的组时,请使用 gpasswd 这个命令来添加操作用户:
gpasswd -a user_name group_name
30、建立文件 ff.txt 并用数字的形式(绝对权限)把文件的权限改为 rw-rw-rw-。
touch ff.txt
chmod 666 ff.txt
31、cp 一个目录中的文件需要什么权限,mv 呢?touch 呢?rm 呢?
cp需要有目录的x权限,mv需要wx权限,touch需要wx权限,rm需要有wx权限
32、建立一个公共目录/opt/public,要求每个用户都可以创建文件和目录,但只能自己本人和root 可以删除;
mkdir /opt/public
chmod 1777 /opt/public(1代表这是粘滞位,他的作用就是只有创建者和root可以删除)
33、查看当前目录下所有的文件或目录(含.开头的),把查看结果生成文件 ls.txt
ll -a
ls -la > ls.txt
34、将/home 目录拷贝到/root 目录下,然后再将 root 下的 home 及子目录删除。
cp -r /home /root
rm -rf /root/home
35、将当前目录中扩展名为 txt、doc 和 bak 的文件全部复制到/home 目录中。
cp *.txt /home
cp *.doc /home
cp *.bak /home
36、查找用户账号文件中是否存在 test 用户。
cat /etc/passwd | grep test
37、设置/test/a.txt 属主有读写执行权限,属组,有读写,其他账户无权限
chmod 760 /text/a.txt
38、如何删除/tmp 下所有 A 开头的文件?
rm -rf /tmp/A*
rm /tmp/A*
39、如何把/tmp/etc/man.conf 移动到/tmp 下并改名为 test.conf 设置所有人都有读写执行权限
mv /tmp/etc/man.conf /tmp/test.conf
chmod 777 /tmp/test.conf
40、修改/tmp/test.conf 的属主为 u1,属组为 u2 chown u1:u2 /tmp/test.conf
chown u1:u2 /tmp/test.conf
41、如何查看系统最后创建的 3 个组
tail -3 /etc/group
42、设置/test/a.txt 属主有读写执行权限,属组,有读写,其他账户无权限
chmod 760 /test/a.txt
43、如何把/etc 复制到/tmp 下并保持原属性不变?
cp -rp /etc /tmp (-p 保持文件本身属性不变 -r:递归)
44、如何把/tmp/etc/man.conf 移动到/tmp 下并改名为 test.conf 设置所有人都有读写执行权限
mv /tmp/etc/man.conf /tmp/test.conf
chmod 777 /tmp/test.conf
45、如何查看/etc/passwd 的头 3 行 和 尾 3 行
head -3 /etc/passwd
tail -3 /etc/passwd
46、如何创建 g1、g2 组
groupadd g1
groupadd g2
47、添加账户 u2,为其指定 id 号为 1000
useradd -u 1000 u2(-u:新账户的用户id)
48、把 u1 u2 添加到 g2 组
gpasswd -a u1 g2
gpasswd -a u2 g2
49、如何查看 u2 的 uid gid
id u2
50、如何查看当前工作目录、
pwd
51、userA 用户的宿主目录都在什么位置
/home/userA
52、怎么把重要文件加锁并查看是否已经锁定?比如/etc/passwd、/etc/shadow/、/etc/group、
/etc/gshadow
chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow
查看命令为lsattr
53、将当前目录下文件 test.txt 改名为 oldboy.txt
mv test.txt oldboy.txt
54、新建、删除、移动和复制文件使用什么命令?如何使用?
答:touch命令可以用来建立文件
rm命令可以用来删除文件和目录
mv命令用于文件改名,也可以用来在文件系统内移动文件或者子目录
cp命令用来对文件进行复制操作
55、如果将文件 file 的属性必为-rwxr-xr–应怎样实现?又怎样将该文件 file 的属性必为
-rwxr-xr-x?
将文件 file 的属性改为-rwxr-xr–:chmod 754 文件名
将该文件 file 的属性改为-rwxr-xr-x:chmod o+x 文件名
56、Linux 存储用户帐号、密码和群组名称的文件在哪里?
Linux存储用户账号的文件是:/etc/passwd
linux存储密码:/etc/shadow
群组名称的文件是:/etc/group
57、要查看登陆到系统上究竟有哪些用户应适用什么命令?
要查看登录到系统上究竟有哪些用户使用的命令是who或者w命令
58、最常用的获得帮助的命令是什么?
答:man 联机帮助手册;查询每个命令的使用方法 help;
查询 shell 命令:whatis。
59、要查询文件中包含特定字符串,应使用什么命令?
答:grep 命令,使用它可以在文件内搜索特定字符串或显示包含指定文本模式的文件名
grep命令的基本用法:grep [选项] [查找条件] [文件名1,文件名2,…]
60、建立一个公共目录/opt/public,要求每个用户都可以创建文件和目录,但只能自己本人和root 可以删除;
mkdir /opt/public
chmod 1777 /opt/public
61、新建、删除、移动和复制目录使用什么命令?如何使用?
答:mkdir 命令用于建立子目录。此命令可以一次建立多个子目录
mv命令用于文件改名,也可以用来在文件系统内移动文件或者子目录
rm命令可以用来删除空子目录
cp命令用来对子目录进行复制操作
62、使用 vi 编辑器时,在编辑模式中输入字母汉字或数字,在指令模式中输入什么指令就可以存档并离开 vi。
答:在指令模式中输入”:wq”指令就可以存档并离开vi
63、什么是文件系统? 文件系统的功能?
文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
文件系统的功能:管理和调度文件的存储空间,提供文件的逻辑结构、物理结构和存储方法;实现文件从标识到实际地址的映射,实现文件的控制操作和存取操作,实现文件信息的共享并提供可靠的文件保密和安全保护措施。
64、将 u 盘(设备名 sdc)挂载到/mnt/usb_disk 目录。linux 目录结构
mount /dev/sdc /mnt/usb_disk
65、网络相关命令:ifconfig
显示全部接口信息、启动指定网络设备/网卡、关闭指定网络设备/网卡、设置网卡临时性 IP 地址、掩码、广播地址、网关。
66、命令 ping
测试主机之间网络的连通性
67、应用程序一般都安装在那个目录。
可执行程序在/usr/bin/
68、日志一般都存放在那个目录下
/var/log
69、root 的宿主目录在那什么位置
/root
70、绝对路径和相对路径,并指出他们的区别。
答:相对路径:相对首先得有一个参照物(一般就是当前的工作路径);
相对路径的写法:在相对路径中通常会用到2个符号“./”【表示当前目录 下】、“…/”【上一级目录下】。
绝对路径:绝对路径不需要参照物,直接从根“/”开始寻找对应路径;
71、什么是文件系统?文件系统的功能?
答:文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
文件系统的功能:管理和调度文件的存储空间,提供文件的逻辑结构、物理结构和存储方法;实现文件从标识到实际地址的映射,实现文件的控制操作和存取操作,实现文件信息的共享并提供可靠的文件保密和安全保护措施。
72、CentOS7.6 系统有哪些用户类型,用户 ID 号与用户类型的关系?
答:用户类型分为三种分别是超级用户(root)、系统用户、普通用户。
在Linux中,操作系统根据UID来判断用户, 而不是用户名,每个用户都有一个独立的UID,只要id为0就是管理员。
UID(用户id)是linux系统中每一个用户的唯一标识符。
73、查看/etc 目录下所有的文件或目录(含.开头的)
ls -a /etc
74、将/usr/share 下以 yum 开头的文件和目录打包压缩成 myyum.tar.bz2
tar -jcf ./myyum.tar.bz2 /usr/share/yum*
-j:有bz2属性的
-c:建立压缩文件
-f:使用的压缩文件的名字(切记,这是最后一个参数)
75、Linux 系统中格式化 sda3 磁盘(分区)为 vfat 文件系统。
mkfs -t vfat /dev/sda3 (dev是设备(device)的英文缩写)
(mkfs命令的作用就是在硬盘上创建Linux文件系统
-t<文件系统类型>指定要建立何种文件系统)
76、操作题
在命令 ll -d /testdir/执行后的结果为:
drwxr-x—. 2 san root 25 11 月 23 00:01 /testdir/
命令 ll /testdir/执行后的结果为:
-rw-r—–. 1 san root 35 11 月 23 18:51 filenam
有用户信息: uid=1016(userchu) gid=1016(userchu) 组=1016(userchu)且
userchu: x :1016:1016::/home/userchu:/bin/bash
当前用户不是 root,试操作完成下列关于 ACL 权限设置任务:
使 userchu 对文件 filenam 具有读和写权;
使 userchu 对目录/testdir/的权限为 r-x,
并查看/testdir/和 filenam 设置后的 ACL 信息。
语法:
为用户设定ACL权限
(setfacl -m u:用户名:权限rwx 文件名)
管理ACL权限
:getfacl 目标文件或目录
-m:设置后续ACL参数,不可与-x连用
sudo setfacl -m u:userchu:rw /testdir/filenam
sudo setfacl -m u:userchu:rx /testdir
getfacl /testdir/filenam
getfacl /testdir/
77、在 server 主机中把/etc 目录下以 y 开头的所有文件打包压缩到/mnt 中,名字为 etc.tar.gz
利用 tar -zcf 进行打包压缩
tar -zcf /mnt/etc.tar.gz /etc/y*
参数:-z有gzip属性的
-c建立压缩文件
-f使用的压缩文件名字(这是最后一个参数)
78、通过 tar 命令将/etc/passwd 文件打包压缩成/root/file.tar.bz2
tar -jcf /root/file.tar.bz2 /etc/passwd
-j:有bz2属性的
79、将所有*.png 文件打成一个名为 all.tar 的包,-c 表示产生新的包,-f 指定包的文件名。
$ tar -cf all.tar *.png
80、解压缩
tar -xvf file.tar (
-x表示解压文件,-v表示显示所有过程
)
tar -xzvf file.tar.gz (
-z表示有gzip属性的
)
Tar -xjvf file.tar.bz2 (
-j:有bz2属性的
)
81、用户和组操作命令
<1>创建用户和组
①创建组groupadd
参数:
-g: GID指定新用户组的组标识号(GID)
-o:一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
eg:添加标识号为1003的group组
#
groupadd -g 1003 group
②创建用户 useradd
eg:创建Bob用户,同时创建了用户的主目录
useradd -m Bob
(-m:创建用户的主目录)
<2>管理用户和组
①修改用户属性usermod(mod——》modify)
usermod 选项 用户名
Eg:修改Bob用户的组为root
usermod -g root Bob
(-g强制使用GROUP为新主组)
②用户删除
userdel 选项 用户名
-r 把用户的主目录一起删除
82、查看用户id(UID)和组id(GID)
id username
83、设置用户密码
passwd userA 可操作设置用户密码
84、锁定用户密码
锁定 userB 的密码(-l 锁定用户 -u 解锁 -d清空密码 )l——》lock
passwd -l userB
85、与用户相关的几个文件 记住相关文件的位置和名称
/etc/passwd
用户登录信息 (每一行代表一个用户的信息)
/etc/shadow
保存用户的密码、账号有效等信息
86、权限管理
①访问权限
读取 r:允许查看文件内容、显示目录列表 (4)
写入 w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录 (2)
可执行 x: 允许运行程序、切换目录(1)
②归属(所有权)
属主:用于该文件或目录的用户账号
属组:用于该文件或目录的组账号
③通过 ls 或 ll 命令可显示访问权限和归属
④设置文件和目录的权限 chmod 命令(-R 递归)
chmod nnn 文件或目录(优先选择)(n表示数字)
chmod 【ugoa】【±=】【rwx】
⑤设置文件和目录的归属 chown
chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
常用选项:-R——》递归修改指定目录下所有文件、子目录的归属
⑥ACL 权限
Linux 系统标准的 ugo/rwx 集合并不允许为不同的用户配置不同的权限,所以 ACL 便被引
入了进来,
目的是为文件和目录定义更加详细的访问权限,而不仅仅是这些特别指定的特定
权限。
ACL 可以为每个用户,每个组或不在文件所属组中的用户配置相应的权限。ACL 可使用
setfacl 来设置(和移除),可相应地使用 -m 或 -x 选项。
87、添加用户到某一个组 可以使用
usermod -G group_name user_name
这个命令可以添加一个 用户到指定的组,但是
以前添加的组就会清空掉
。
所以想要添加一个用户到一个组,
同时保留以前添加的组
时,请使用 gpasswd 这个命令来 添加操作用户:
gpasswd -a user_name group_name
如有错误之处,请批评指正 (✪ω✪) ~~