linux运维手册

目录

一、创建文件、文件夹

1.创建文件

2.创建文件夹

二、删除文件/文件夹

1、rm命令(常用)

2、 使用rmdir命令删除文件夹

三、Linux向文件中写入内容 

四、移动、复制文件及文件夹

1.移动mv

2.复制cp

3、tree

tree 命令可以以树状图列出文件目录结构

五、查看、编辑文件

1.查看(ls、tail、cat、less)ls

2.编辑

六、文件访问权限

1、指令:chmod        设置文件的访问权限。

 2、更改文件所属者和拥有者:       

拓展:粘滞位

七、文件链接

ln


一、创建文件、文件夹

1.创建文件

touch 指令 创建空文件

基本语法: touch 文件名称

b3c18eb452714c1c844815f0dfc77bac.png

2.创建文件夹

mkdir

mkdir 指令用于创建目录(make directory)

基本语法: mkdir [选项] 要创建的目录
常用选项:
-p :创建多级目录

e4eddfefba93471db8c77e1582b12640.png

ec94456df2d7476084dfdb86e6abb995.png

二、删除文件/文件夹

1、rm命令(常用)

使用 rm 命令删除文件夹的时候,一定要记得加上 -r 或 -R 选项,否则会报错。该选项表示递归删除文件夹,可以将该文件夹下的文件全部删除。加上 -f 选项将强制删除而不给任何提示。(慎用-f)

# 删除目录不加 -r 会报错
$ rm folder
rm: cannot remove ‘folder’: Is a directory
 
# 正确删除目录
$ rm -r folder
 
# 强制删除目录
$ rm -rf folder

例:

案例 1: 将 /home/aaa.txt 删除
4a50ef2817074971b4289824e65a242e.png

案例 2: 递归删除整个文件夹 /home/bbb
856dbb5f50b34e8187fb2c7779574ced.png
强制删除不提示的方法:带上 -f 参数即可
b71ebd49b2264607b5abadeb2239cffa.png

2、 使用rmdir命令删除文件夹

        rmdir命令是英文单词 remove directory 的缩写,主要作用是删除文件夹。但是请注意,该命令只能用于删除空文件夹,而如果文件夹非空的话,将会报错。

$ rmdir folder
rmdir: failed to remove ‘folder’: Directory not empty

 所以如果需要使用 rmdir 命令删除一个文件夹的话,需要先将该文件夹清空再删除

# 先清空文件夹
$ cd folder
$ rm -rf *
 
# 再使用 rmdir 命令删除该文件夹
$ cd ..
$ rmdir folder

三、Linux向文件中写入内容 

echo命令:

1.覆盖写入

# 语法:echo '内容' > 文件名或路径
 
# 如向a.txt文件中输入i love u
# 如果没有这个文件则创建。如果有那么新内容代替原来的内容
echo 'i love u' > a.txt 

2.追加写入

# 语法:echo '内容' >> 文件名或路径
 
# 向a.txt文件中输入i love u
# 如果没有这个文件则创建.如果有那么新内容追加在原来内容的后面
echo 'i love u' >>a.txt  

3.窗口输出指定内容

echo "hello"  # 窗口输出 hello
echo 'hello'  # 窗口输出 hello

四、移动、复制文件及文件夹

1.移动
mv

mv 指令 :1.移动文件与目录 2.重命名

基本语法:
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件或文件夹)

例:

案例 1: 将 /home/aaa.txt 文件 重新命名为 pig.txt

9555922988cb44ee8da42fa1a2ee3ed8.png

案例 2:将 /home/pig.txt 文件 移动到 /root 目录下
f7a0478962a5474ea9bd747340f03994.png


2.复制
cp

cp 指令 :拷贝文件到指定目录

基本语法:cp [选项] source dest
常用选项:

-i  :  覆盖文件前提示

-r :递归复制整个文件夹

案例 1:
将 /home/aaa.txt 拷贝到 /home/bbb 目录下[拷贝单个文件]
8704dbdf8cfb405ca4c37a70bf11db40.png

案例 2: 递归复制整个文件夹,举例
将/home/test 整个目录拷贝到 /home/zwj 目录
6c621dbfba4744c7a1c667a0f0bda5ed.png
强制覆盖不提示的方法:\cp
70e692724c3c48fc86a51eaa8bbc8847.png

3、tree

  • tree 命令可以以树状图列出文件目录结构

五、查看、编辑文件

1.查看(ls、tail、cat、less)
ls

ls 指令 :显示当前目录下的文件及文件夹

基本语法:ls [选项] [目录或是文件]
常用选项:
-a :显示当前目录所有的文件和目录,包括隐藏的。
-l :以列表的方式显示信息

ls支持通配符:

通配符     含义
*              文件代表文件名中所有字符
ls te*       查找以te开头的文件
ls *html   查找结尾为html的文件
?            代表文件名中任意一个字符
ls ?.c       只找第一个字符任意,后缀为.c的文件
ls a.?      只找只有3个字符,前2字符为a.,最后一个字符任意的文件
[]             [”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。
[abc]       匹配a、b、c中的任意一个
[a-f]         匹配从a到f范围内的的任意一个字符
ls [a-f]*    找到从a到f范围内的的任意一个字符开头的文件
ls a-f        查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用
\               如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。
ls \*a        查找文件名为*a的文件

tail

tail 指令 :tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容

基本语法:
tail 文件 (功能描述:查看文件后 10 行内容)
tail -n 5 文件 (功能描述:查看文件后 5 行内容,5 可以是任意行数)
tail -f 文件 (功能描述:实时追踪该文档的所有更新,工作经常使用)

cat

cat 指令 :查看文件内容,是以只读的方式打开

基本语法:cat [选项] 要查看的文件
常用选项:
-n :显示行号例:
查看 /etc/profile 文件内容,并显示行号
5c342bdf025f46b58c93ae6c98a6da54.png
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more
cat 文件名 | more [分页浏览]

less

less 指令 :
less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持
各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示
需要加载内容, 对于显示大型文件具有较高的效率。

基本语法:less 要查看的文件

基本语法:less 要查看的文件
快捷键:
bc0df9673caa42e88be42424e34a4277.png

more
more 命令可以用于分屏显示文件内容,每次只显示一页内容
适合于 查看内容较多的文本文件

使用 more 的操作键:

操作键功能
空格键显示手册页的下一屏
Enter键 一次滚动手册页的一行
b回滚一屏
f前滚一屏
q退出
/word搜索 word 字符串

grep
Linux 系统中 grep 命令是一种强大的文本搜索工具

安装:

#ubuntu
sudo apt-get install gedit
 
 
#centos
sudo yum install gedit

grep 允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式。

选项含义
-n显示匹配行及行号
-v显示不包含匹配文本的所有行(相当于求反)
-i忽略大小写

常用的两种模式查找

参数含义
^a行首,搜寻以 a 开头的行
ke$行尾,搜寻以 ke 结束的行

2.编辑

我们想要对某个文件进行编辑时可以使用vi、vim编辑器
d5ee61741aed4da989b7991ed94366eb.png


432001702ae14cd599ee1f835d90d661.png

快捷键的使用案例:

1、拷贝当前行 yy , 拷贝当前行向下的 5 行 5yy,并粘贴(p)。
2、删除当前行 dd , 删除当前行向下的 5 行 5dd
3、在文件中查找某个单词 在正常模式下 /关键字 , 回车 查找 , 输入 n 就是查找下一个
4、设置文件的行号,取消文件的行号.[正常模式下 : set nu 和 :set nonu]
5、编辑 /etc/profile 文件,使用快捷键到底文档的最末行[G]和最首行[gg],注意这些都是在正常模式下执行的。
6、在一个文件中输入 “hello” ,然后又撤销这个动作,再正常模式下输入 u

3、gedit

也是一个文件编辑器

bb03adb8891d41e9b3517f56e6961fae.png

 常用命令:

  • CTRL-Z:撤销  
  • CTRL-C:复制  
  • CTRL-V:粘贴  
  • CTRL-T:缩进  
  • CTRL-Q:退出  
  • CTRL-S:保存  
  • CTRL—R:替换  
  • CTRL+Tab 切换  
  • CTRL+W 关闭选项卡

4、显示inode的内容:start

http://t.csdn.cn/HyTWg什么是inode:http://t.csdn.cn/HyTWg

stat [文件或目录]

六、文件访问权限

用户能够控制一个给定的文件或目录的访问程度,一个文件或目录可能有读、写及执行权限:

读权限(r) :对于文件,具有读取文件内容的权限;对于目录,具有浏览目录的权限。
写权限(w) :对于文件,具有修改文件内容的权限;对于目录,具有删除、移动目录内文件的权限。
可执行权限(x): 对于文件,具有执行文件的权限;对于目录,该用户具有进入目录的权限。

示例:

7da5a8288cfb2d26b70da16da71b36e8.png

第1个字母代表文件的类型:

  • “d” 代表文件夹
  • “-” 代表普通文件
  • “c” 代表硬件字符设备
  • “b” 代表硬件块设备
  • “s”表示管道文件
  • “l” 代表软链接文件。

后9个字母分别代表三组权限:文件所有者、用户组、其他用户拥有的权限。

1、指令:chmod        设置文件的访问权限。

  • +:增加权限
  • -:取消权限
  • u:拥有者 
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户

165aca2401ab45408a3b300a13d9cca3.png

 63d72fa638364fd89d96a4904a16b222.png

  使用比较简单,除了这种方法还有一个方式,这里可以把有权限当做1,没权限为0,那么三个二进制就是一个8进制。

e841880769b9455296485313d48bca05.png

        三个8进制数赋权限,那么这里最大的权限是777,最小的是000。

 7bd0919592444e638ead08b68bf09922.png

 2、更改文件所属者和拥有者:
       

更改拥有者和所属组要提高权限,要么使用root权限,要么使用sudo指令,不过这个指令要添加到配置文件才能使用。(文件拥有者也可以改,但是拥有者把拥有者改了,感觉很怪,结果还是要提高权限)

指令:chown(更改拥有者)

python@ubuntu:~/test$ ll h.txt 
-rw------- 1 python python 4 11月 22 22:35 h.txt
python@ubuntu:~/test$ chown mike h.txt 
chown: 正在更改'h.txt' 的所有者: 不允许的操作
python@ubuntu:~/test$ sudo chown mike h.txt 
python@ubuntu:~/test$ ll h.txt              
-rw------- 1 mike python 4 11月 22 22:35 h.txt

d0566460be8b46a3803c81fe3ce63f1a.png

chgrp(更改所属组)

python@ubuntu:~/test$ ll h.txt              
-rw------- 1 mike python 4 11月 22 22:35 h.txt
python@ubuntu:~/test$ sudo chgrp mike h.txt 
python@ubuntu:~/test$ ll h.txt              
-rw------- 1 mike mike 4 11月 22 22:35 h.txt

8234c97b4bb447c289acc4209acf9147.png

 PS:没有更改其他人的指令,因为只要更改了拥有者和所属组相当于就更改了其他人了。

PS:如果自己同时有拥有者和所属组的权限,就只看拥有者不看所属者,因为这里权限值判断一次

拓展:粘滞位

前面说了修改了目录文件的写权限,就可以删除目录下的文件,那么这里就有个问题,就是我自己写的文件,给别的用户开了权限后,别的用户就可以删除这个文件了,但是这是不好的,所以这里Linux引入了粘滞位的概念。

chmod +t 目录文件名   //添加粘滞位

chmod -t 目录文件名    //移除粘滞位

13e6b34140464dc8a96af4e61a5efa2f.png

 90395c64427a496b9c9dd02027b34f81.png

设置完粘滞位后会出现一个 t ,这样就可以让别的用户删除不了文件夹及其里面的文件了,但是自己可以删除自己的文件。

PS: 粘滞位只能给目录设置。 谁设置谁取消(root)。

七、文件链接

ln

每个文件都独自占用一个 inode,文件内容由 inode 的记录来指向;
如果想要读取文件内容,就必须借助目录中记录的文件名找到该文件的 inode,才能成功找到文件内容所在的 block 块;

ln 命令用于给文件创建链接,根据 Linux 系统存储文件的特点,链接的方式分为以下 2 种:
软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接方式同样适用于目录。
硬链接:我们知道,文件的基本信息都存储在 inode 中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的 inode,从而读取该文件的数据信息。

ln 命令的基本格式如下:
ln [选项] 源文件 目标文件

软链接:ln -s /home/myhome/test  /home/myhome/tt
        源          目标
在/home/myhome/下新建一个链接文件tt ,则tt文件夹了指向/home/myhome/test 文件,输入ls -l命令,可以查看到tt指向了test

或者ln -s /home/myhome/test  /home/myhome,在myhome下建立一个和test一样的名字的快捷方式
        源       目标路径
在myhome下,可以看到test文件,,输入ls -l命令,可以查看到test指向了/home/myhometest
删除链接文件:rm -rf   tt  

写成 rm -rf tt/ ,这样会把链接源文件里的文件也删除掉的

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

例 1】创建硬链接:

[root@localhost ~]# touch cangls
[root@localhost ~]# ln /root/cangls /tmp

例 2】创建软链接:

[root@localhost ~]# touch bols
[root@localhost ~]# In -s /root/bols /tmp

 #建立软链接文件
**这里需要注意,软链接文件的源文件必须写成绝对路径,而不能写成相对路径(硬链接没有这样的要求);否则软链接文件会报错
软链接是可以链接目录的,**例如:

[root@localhost ~]# mkdir test
#建立源目录
[root@localhost ~]# ln -s /root/test/ /tmp/
要删除链接文件,输入:rm tmp -rf

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值