RHCSA(第三天)

目录

alias 命令

修改命令的别名

cp命令

cp命令的选项

mv命令

rm命令

rm命令的选项

省略号的用法

ln命令

ln命令的选项

硬链接和符号链接的区别

vim命令

vim工作的三种模式

管道符    | 

tee命令

tee命令的参数

文件内容浏览命令

cat命令

cat命令的常用选项

more和less命令

more和less命令选项

head和tail命令

head和tail命令选项


alias 命令

        查看命令别名

修改命令的别名

alias 命令='命令 [选项]',

例:alias cp='cp -i',

别名失效:使用unalias命令

cp命令

复制目录或者复制文件

命令的格式:cp [选项] 源文件 目标文件

cp可以做到复制,粘贴的时候重命名

注意:copy的时候,一定要注意使用绝对路径还是相对路径。

可以copy多个文件: cp file1 file2 ....... 目标目录

cp命令的选项

-a——拷贝所有

-d——保留链接文件

-f——强制覆盖不询问

执行了之后发现-f没有起作用,alias cp=> 查看cp的别名 cp='cp -i',修改的话需要将别名 cp='cp -i'改为cp='cp',才可以使用cp -f这条命令。

-i——在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。默认cp命令就是cp -i。

-l——拷贝,把文件复制一份,加了-l之后,相当于创建了一个链接指向这个文件命令执行完成后,可以通过一个环境变量来查看命令是否执行成功-p:除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

-r——递归拷贝

小技巧:命令执行完成后,可以通过一个环境变量来查看命令是否执行成功

echo $?  #输出上一次命令执行完成之后返回状态码
0:执行成功
非0:代表执行失败

mv命令

        用于剪切或重命名文件。
命令格式:“mv [参数] 源文件名称 目标文件名称”
        剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作。

[root@kongd ~]# mv x.log linux.log
[root@kongd ~]# ls
install.log linux.log

rm命令

        删除文件或目录,可包含一个或多个文件名(各文件间用空格分隔)或用通配符表达,以实现删除多个文件或目录。

        进入企业/项目之后,慎用rm。因为rm提供了强制删除。
命令格式:rm [选项] 文件或目录名及路径

rm命令的选项

-i——删除提示信息,需要手动确认

-f——force 强制

-r——recursive 递归

为什么不能直接删除目录?

如果要删除目录使用-r,递归去删除。原因是目录中可能有文件或者子目录。

        在删除目录的时候,如果目录中文件过多,而且你使用-i选项,就会出现很多提示信息,而且需要手动确认。

解决办法:rm -rf 目录

删除多个文件或目录: rm [选项] 目录1 目录2 .....

省略号的用法

touch file{1..5} => 创建文件file1 file2 file3 file4 file5, 所以1..5代表的就是连续的数字1-5。另外一种file{1,5}: 代表1和5

ln命令

       为文件或目录建立链接(Link) 。

命令格式:ln [选项] 被链接的源文件或目录 链接文件或目标目录

ln 源文件 链接文件: 这种方式创建的是硬链接

ln -s 源文件 链接文件: 这种方式创建的是软链接 , -s: symbolics 符号的意思

ln命令的选项

-s——建立符号链接(软链接),不加该选项时建立的链接为硬链接。
-f——删除已经存在目标文件与源文件之间的链接关系。
-i——交互式地删除目标文件与源文件之间的链接关系。

# 不带选项的ln,为link_file创建了link_1链接文件
[root@rhcsa link_test]# ln link_file link_1
# 但是使用ls -l查看,发现link_1还是普通文件
[root@rhcsa link_test]# ls -l
total 0
-rw-r--r--. 2 root root 0 Mar 26 01:38 link_1
-rw-r--r--. 2 root root 0 Mar 26 01:38 link_file
# 使用stat查看文件详细信息的时候。 links是2
[root@rhcsa link_test]# stat link_file 
  File: link_file
  Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 3325079     Links: 2
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)


[root@rhcsa link_test]# ln link_file link_1
[root@rhcsa link_test]# ln -s link_file link_2
[root@rhcsa link_test]# ls -l
total 0
-rw-r--r--. 2 root root 0 Mar 26 01:38 link_1
lrwxrwxrwx. 1 root root 9 Mar 26 01:44 link_2 -> link_file #链接文件:通过建立符号链接来的。
-rw-r--r--. 2 root root 0 Mar 26 01:38 link_file

硬链接和符号链接的区别

1、建立时候的区别: 硬链接建立后,就是一个普通, 而符号链接(软链接)就是一个链接文件
2、硬链接只能对文件建立,不能针对目录,软链接对目录和文件都可以
3、具有硬链接关系的两个文件名指向的是硬盘上同一块空间, 软链接:类似于我们windows的快捷方式,即一个文件指向的是另一个文件。
4、删除:硬链接删除link_1或者link_file,另一方文件仍然有效,只是Links减一。
                 如果是软链接,删除了源文件后link_file,链接文件就失效了。

vim命令

        类似于windows上记事本: 编辑,保存,退出不保存,复制,粘贴,搜索,替换等等。

在Linux上叫vim,早些时候unix或者linux系统不会内置vim会内置一个叫vi的。vim用于编辑文本文件,是vi的增强版. 使用vi也可以编辑文件。

vim如何取使用?

首先第一个注意:vim是字符界面,基本上用不上鼠标。

vim工作的三种模式

命令模式:控制光标, 完成复制,粘贴,删除,查找的功能

编辑模式:编辑文本文件的内容

末行模式:保存退出,设置环境

模式之间的切换

vim data.txt进入vim中,默认进入命令行模式, 左下角没有显示。

        怎么由命令行模式切换到编辑模式:按a,i,o键进入编辑模式,且左下角出现--INSERT--的字样。

        进入编辑模式后怎么切换到命令行模式:按Esc回到命令行模式。

        怎么由命令行模式切换到末行模式:输入

        怎么由末行模式切换到命令行模式:按Esc回到命令行模式。

命令模式下的操作

        行内快速跳转:跳转至行首:Home , ^, 0, 跳转至行尾:End, $

        行间快速跳转:跳转至文件的首行:1G或者gg,跳转至文件的尾行:G, 跳转到指定的行: #G

        复制:yy或者#yy

                yy:复制光标所在的行

                #yy:复制多行,从光标所在行开始算起 #行

        粘贴:pP

                p: 粘贴到光标位置之后

                P: 粘贴到光标位置之前

        删除:删除单个字符,行内删除:从光标位置到行首,从光标位置到行尾,删除整行,删除多行

                行内删除:xdel删除单个字符,d^删除从光标到行首,d$删除从光标到行尾

                删除整行:dd删除当前光标所在行

                删除多行:#dd删除从光标处开始的#行内容

        查找:从上往下,从下往上

                从上往下: /查找的内容,enter确认, 查找到多个内容,n: 下一个,N: 上一个

                从下往上:?查找的内容,enter确认, 查找到多个内容,n: 下一个,N: 上一个

        撤销: uU

                u: 撤销最近的一次操作,多次按u,恢复多步操作。

                U:取消对当前行所做的编辑

        保存并退出:ZZ

注意:在使用vim编辑一个文件的时候,如果这个文件本身不存在,然而你编辑完成之后保存并退出了,那意味着创建了一个新的文本文件。

        vim和touch的区别:touch创建的是一个空的新文件,没有指定一定是文本文件。

末行模式下的操作

        设置行号:可以显示:set nu 也可以不显示: set nonu

        保存:保存,以及另存为

                    保存::w 保存, 另存为:w 路径文件名

        退出: q以及q!, q是退出,q!强制退出

        保存并退出:wq保存并退出, wq!强制保存退出

        在一个文件中打开另一个新的文件 :e newfile

        在一个文件中读入另一个文件的内容 :r filename

        替换::s /old/new 在行内替换,只替换匹配到第一个old字符串替换成new

                   :s /old/new/g 在行内进行替换,替换行内所有的old字符串替换成new

                   :#,# s/old/new/g 替换指定的开始行和结束行中的old字符串替换成new

                   :% s/old/new/g  在全文中替换old字符串,替换成new

注意,在命令模式和末行模式下,可以按上下键调出,历史输入。

管道符    | 

管道的作用:就是传输的,起了一个连接的作用

管道符:|, 管道是由我们的 | 管道符隔开的若干条命令组成的序列

一个管道符 | 前后的两个命令之间的关系:前一个命令的输出,使用管道符,作为后一个命令的输入。

管道符使用格式

        command1 | command2 | command3 ....

stdout: standard output 标准输出

stdin: standard input 标准输入

process: 程序

命令的输出:

        echo "123" 输出到屏幕上,标准输出

cat data.txt # 原先输出在屏幕上
cat data.txt | more
# cat data.txt 原先输出在屏幕上的内容,通过管道符|传递给more命令,作为more命令的输入

# ls -l:展示当前目录下的内容(长格式),输出在屏幕上(标准输出)
[root@rhcsa link_test]# ls -l
total 12
-rw-r--r--. 1 root root 247 Mar 26 05:32 data2.txt
-rw-r--r--. 1 root root 247 Mar 26 05:49 data.txt
-rw-r--r--. 3 root root   0 Mar 26 04:26 hard_link
-rw-r--r--. 3 root root   0 Mar 26 04:26 link_file
-rw-r--r--. 3 root root   0 Mar 26 04:26 symb_link
-rw-r--r--. 1 root root 248 Mar 26 05:36 test_quit.txt
# 将ls -l原先输出在屏幕上的内容,通过管道传递给grep命令,作为它的输入,然后grep命令去匹配data2.txt
[root@rhcsa link_test]# ls -l | grep data2.txt
-rw-r--r--. 1 root root 247 Mar 26 05:32 data2.txt

管道符的使用场合
        当输出内容较多时,为便于浏览,可将输出内容,通过管道操作符,传递给more命令来分页查看,也可传递给grep命令实现对指定对象的查看。

注意事项

        1、管道命令只处理前一个命令的正确输出,不处理错误输出。

        2、管道符后边的命令,必须能够接收标准输入命令才可以。

tee命令

        读取标准输入的数据,并将其内容输出成文件。
命令格式:tee [-ai][--help][--version][文件...]

tee命令的参数

       -a--append 附加到既有文件的后面,而非覆盖它.
       -i--ignore-interrupts 忽略中断信号。
       --help 在线帮助。
       --version 显示版本信息
 

1、如何在 Linux 上使用这个命令?

[command] | tee [file]
 

2、 如何确保 tee 命令追加信息到文件中?
[command] | tee -a [file]
 

3、如何让 tee 写入多个文件?
[command] | tee [file1] [file2] [file3]
 

# echo "123"将123输出在屏幕(标准输出)
# 通过管道符 将输出的123作为tee命令的标准输入
# tee命令将123输出在屏幕上(标准输出),并保存在文件中tee_test.txt
[root@rhcsa link_test]# echo "123" | tee tee_test.txt
123
[root@rhcsa link_test]# more tee_test.txt 
123

# 追加在文件中而非覆盖
[root@rhcsa link_test]# echo "123" | tee -a tee_test.txt 
123
[root@rhcsa link_test]# more tee_test.txt 
456
123

文件内容浏览命令

cat命令

        查看文本文件的内容。

命令格式: cat [选项] 文件名列表        

# 意味着它可以打开多个文件多个文件,将文件内容连接在一起输出。

cat命令的常用选项

-n: 带行号显示内容

-b: blank: 空行的意思

more和less命令

        文件内容浏览分页浏览,按页去展示(按空格跳转下一页,按q退出,也可以进行搜索/)

命令格式: more / less [选项] 文件名

more和less命令选项

-数字:仅适用于more命令,用来指定分页显示时每页的行数。
+num:指定从文件的第num行开始显示。
-c:从顶部清屏然后显示文件内容
-N:仅适用于less命令,其作用是在每行前添加输出行号
 

交互操作方法

1、按enter向下逐行滚动,按空格向下翻页,按b向上翻页

2、more命令到文件结尾就自动退出,less命令需要输入q才可以退出

head和tail命令

        查看文件开头或末尾的部分内容

head: 头部, 查看文件头部指定行数: 默认是10

tail:尾部, 查看文件尾部指定行数:默认也是10

head和tail命令选项

-num: 指定查看的行数

        head -5 test.txt: 查看test.txt前5行

        tail -5 test.txt:查看test.txt后5行

-f:使tail不停地去读取和显示文件最新的内容, 以监视文件内容的变化。这样有实时监视的效果。
 

tail命令有一个很实用的用法

        tail可以动态刷新的查看某些文件的内容。假设要查看一个日志文件,你在查看日志文件的时候,其他一些程序还在往日志文件中写内容。假设:14:00查看的文件,14:10还在往文件里写内容,普通查看,只能查看到14:00,看不到14:10。就要使用-f选项,动态去刷新文件内容,放在末尾。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力学IT的小徐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值