第一章 Linux系统入门

阅读 19

03-24 21:00

命令工具

    Linux 操作系统拥有字符与图像两种工作界面,在企业生产环境中,Linux 主要担当服务器的角色,而图形界面会占用大量的系统资源。因此,从运行效率以及资源占用率的角度考虑,通常会使用命令行完成日常工作。下面会逐步介绍Limnux 中常用命令的用法与应用案例。

a. 基本命令

1)目录及文件的基本操作

  1. pwd

描述:pwd命令的作用是显示当前工作日录的名称。

用法:pwd[选项]...

选项:-p   显示链接的真实路径

[root@centos7 Desktop]# pwd

/root/Desktop             #返回当前工作目录/root/Desktop

[root@centos7 test]# pwd

/tmp/test                     #返回当前工作日录/tmp/test

[root@centos7 test]#pwd -p

/tmp/pass                    #返回链接的真实路径/tmp/pass

  1. cd

描述:cd 命令的作用是切换当前工作目录。

[root@centos7 ~]# cd /usr/src/       #切换工作目录至/usr/src/

[root@centos7 src]#cd-     #返回前一个目录,至/usr/src目录

[root@centos7 usr]#cd..    #切换工作目录至当前目录的上一级目录

[root@centos7 usr]# cd     #切换工作目录至当前用户的家目录

  1. ls

描述:命令的作用是显示目录与文件信息。

用法:Is[选项]...[文件/目录]...

选项:

  • -l:以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。不使用-1选项时,1s 命令默认以短格式显示目录名或文件名信息
  • -a:显示所有(A11)子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件
  • -A:与-a选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“..”
  • -d:显示目录(Directory)本身的属性,而不是显示目录中的内容
  • -h:以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示为KB、MB等单位。此选项需要结合-l选项一起使用
  • -R:以递归(Recursive)的方式显示指定目录及其子目录中的所有内容
  • --color:在字符模式中以颜色区分不同的文件,如果使用“--color=tty”,则表示使用终端预定义的颜色方案。通常情况下,深蓝色表示目录,白色表示一般文件,绿色表示可执行的文件,黄色表示设备文件,红色表示压缩文件

[root@centos7 test]#ls                  #显示当前目录下的子文件与目录名称

[root@centos7 test]#ls /etc         #显示/etc目录下的子文件与目录名称

[root@centos7 test]#ls -a             #查看包含以·开始的隐藏文件与目录信息

[root@centos7 test]#1s -1            #查看文件与目录的详细信息

[root@centos7 test]#1s -ld /root  #查看当前 root 目录自身的详细信息

[root@centos7 test]#1s -lh           #人性化显示容量信息

  1. touch

描述:创建或修改文件时间。

[root@centos7 test]# touch hello.txt

如果 hello.txt不存在,则创建,如果已存在,则更新文件所有的时间为当前系统时间

  1. mkdir

描述:创建目录。

用法:mkdir [选项]...[目录]..

选项:-p创建多级目录

[root@centos7 test]#mkdir leo

[root@centos7 test]# mkdir -p /tmp/test/jerry/book/computer

  1. cp

描述:复制文件与目录。

用法:cp[选项] 源 目标

需要复制多个文件或目录时,目标位置必须是目录,且目标目录必须已经存在

选项:

  • -f:覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制
  • -i:覆盖目标同名文件或目录时提醒用户确认(Interactive,交互式)
  • -p:复制时保持(Preserve)源文件的权限、属主及时间标记等属性不变
  • -r:复制目录时必须使用此选项,表示递归复制所有文件及子目录

[root@centos7 test]# cp /etc/hosts /tmp/    #复制文件/etc/hosts至/tmp 目录下

[root@centos7 test]# cp /etc/hosts /tmp/host    #复制文件/etc/hosts至/目录下并改名为 host

 [root@centos7 test]# cp -r /var/log/ /tmp/        #复制目录/var/log 至/tmp/目录下

  1. rm

描述:删除文件或目录

用法:rm「选项]...文件..

选项:

  • -f  不提示,强制删除
  • -i  删除前,提示是否删除
  • -r  递归删除,删除目录以及目录下的所有内容

[root@centos7 test]# rm readme.txt     #删除文件 readme.txt

[root@centos7 test]# rm -rf suolong    #删除目录且不提示

  1. mv

描述:移动(重命名)文件或目录

[root@centos7 test]# mv hello.txt hello.doc      #将 hello.txt 改名为 hello.doc

[root@centos7 test]# mv hello.doc /root/         #将hello.doc 移至/root目录下

  1. find

描述:搜索文件或目录。

用法:fnd[命令选项][路径][表达式选项]

选项:

  • -empty查找空白文件或目录
  • -name按文档名称查找
  • -size按容量大小查找
  • -type按文档类型查找,文件(f)、目录(d)、设备(b,c)、链接(1)等
  • -user按用户查找
  1. du

描述:计算文件或目录的容量

用法:du「选项]...[文件或目录]...

选项:

  • -h人性化显示容量信息
  • -a查看所有目录以及文件的容量信息
  • -s仅显示总容量

[root@centos7 test]# du /root          #查看/root 目录及子目录的容量信息

[root@centos7 testl#du -a root

[root@centos7 test]#du -sh /root     #查看/root 所占磁盘空间总和

2)查看文件内容

  1. cat

描述:查看文件内容。

用法:cat[选项]..[文件]..

  1. more

描述:分页查看文件内容,通过空格键查看下一页,q键则退出查看

[root@centos7 test]# more /root/install.log

  1. less

描述:分页查看文件内容,空格(下一页)、方向键(上下回翻)、q键(退出查看)

[root@centos7 test]# less /root/install.log

  1. head

描述:查看文件头部内容,默认显示前10行

用法:head [选项]...[文件]...

选项:-n显示文件前n行的内容

[root@centos7 test]# head -20 /root/install.log       #查看文件的前 20 行的内容

  1. tail

描述:查看文件的尾部内容,默认显示末尾 10行

用法:tail [选项]...[文件]...

选项:

  • -n  显示文件末尾n行的内容
  • -f  动态显示文件内容,常用于查看日志,按 Ctl+C 组合键退出

[root@centos7 test]# tail -20 /root/install.log       #查看文件末尾 20 行的内容

[root@centos7 test]# tail -f /var/log/messages     #实时动态查看文件内容

  1. wc

描述:显示文件的行、单词与字节统计信息

用法:wc「选项]...[文件]...

选项:

  • -c   显示文件字节统计信息
  • -l    显示文件行数统计信息
  • -w   显示文件单词统计信息

[root@centos7 test]# wc /root/install.log       #依次显示文件的行数、单词数、字节数

[root@centos7 test]# wc -c /root/install.log    #显示文件的字节信息

[root@centos7 test]# wc -l /root/install.log     #显示文件行数

[root@centos7 test]# wc -w /root/install.log    #显示文件的单词个数

  1. grep

描述:查找关键词并打印匹配的行

用法:grep [选项] 匹配模式 [文件]...

选项:

  • -i   忽略大小写
  • -v   取反匹配
  • -w   匹配单词

[root@centos7 test]#grep -i the test.txt #过滤包含 the 的行(不区分大小写)

[root@centos7 test]#grep -w num test.txt  #过滤单词 num(不过滤number)

[root@centos7 test]#grep -v the test.txt     #过滤不包含 the 关键词的行

  1. 基本命令:echo

描述:显示一行指定的字符串

用法:echo「选项].. [字符串.]...

选项:

  • -n 不输出换行,默认echo 输出内容后会换行
  • -e 支持反斜线开始的转义字符,屏蔽反斜线后面字符的原本含义

3)链接文件

Linux 中的链接文件不同于 Windows 的快捷方式,Linux 的链接文件分为软链接与硬链接,软链接可以跨分区,但源文件不可删除,硬链接不可以跨分区,但可以将源文件删除

  1. 软连接

[root@centos7 test]# ln -s /test/hello.txt /tmp/hi.txt     #创建文件软链接

[root@centos7 test]# In -s /test   /var/test                    #创建目录软链接

[root@centos7 test]# rm /test/hello.txt;cat /tmp/hi.txt  #删除源后,链接无法使用

  1. 硬链接

[root@centos7 test]# ln /test/hello.txt /test/hi.txt

[root@centos7 testl# rm /test/hello.txt           #删除源文件后,链接文件仍可以正常使用

4)压缩及解压

  1. gzip

描述:压缩与解压缩

用法:gzip [选项..[文件名称]..

选项:-d解压

[root@centos7 test]# gzip hello.txt                #文件压缩后名为 hello.txt.gz

[root@centos7 test]# gzip -d hello.txt.gz       #解压 gz 文件

  1. bzip2

描述:压缩与解压缩

[root@centos7 test]# bzip2 hello.txt            #文件压缩后名为 hello.txt.bz2

[root@centos7 test]# bzip2 -d hello.txt.bz2    #解压 gz 文件

注意:gzip 与 bzip2 工具不可以直接对目录做打包压缩操作

  1. tar

描述:打包与解包文件

用法:tar 模式 [选项] [路径]...

模式:

  • -c  创建打包文件
  • -r  追加文件至打包文档
  • -t  列出打包文档的内容
  • -x  释放打包文件

选项:

  • -C  指定解压路径
  • -f   指定打包后的文件名称
  • -j   打包后通过 bzip2 格式压缩
  • -z   打包后通过 gzip 格式压缩

5)命令使用技巧

  1. 善于利用tab键

在 Limux 中,利用 Tab 键可以自动补齐命令或路径,从而提高工作效率

  1. 使用命令历史

在 Linux 中输入的命令会被记录,对于已经输入过的命令,没有必要重复输入,这时可以直接调用历史命令记录。使用命令历史最简单的方法是通过上、下方向键翻阅历史命令,CentOs默认会记录 1000 条命令历史。输入 history 命令可以显示所有的命令记录,每条记录都有相应的编号,如果你想执行编号为 500 的命令历史,可以通过!500 来调用该命令。

  1. 适时清屏

当命令输入特别多或屏幕显示特别乱时,可以通过快捷键 Ctrl+l或输入命令 clear 清屏

  1. 查找常用命令存储位置

通过 which 命令可以找到常用命令的存储位置,如输入 which find,系统将返回 find 命令的实际存储位置/bin/find

6)帮助

  1. man

通过 man(manual)手册文档可以帮助我们快速掌握命令的用法,man 手册一般保存在/usr/share/man 目录下,查看手册文档可以直接通过 man 命令读取

例如,如果想获取 ls 命令的 man 手册,输入 man ls 即可

  1. info

inf 信息与 man 手册的内容类似,但 inf 信息是模块化的,它通过链接显示不同的信息块,查看起来有点类似于网页

  1. help

通过--help 来获得简要信息,比前面两个要用的更加广泛

b. vim文档编辑

vim 是由 vi发展演变过来的文本编辑器,因其具有语法高亮显示、多视窗编辑、代码折叠支持插件等功能,现已成为众多 Linux 发行版本的标配

1)vim工作模式

  • 命令模式:启动v编辑器后默认进入命令模式。在该模式中,主要完成如光标移动、字符串查找以及删除、复制、粘贴文件内容等相关操作。
  • 输入模式:在该模式中,主要操作是输入文件内容,可以对文本文件正文进行修改或添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“-INSERT--”的状态提示信息。
  • 末行模式:在该模式中,可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号“:”提示符。

模式切换:

  • a:在当前光标位置之后插入内容
  • A:在光标所在行的末尾(行尾)插入内容
  • i:在当前光标位置之前插入内容
  • I:在光标所在行的开头(行首)插入内容
  • o:在光标所在行的后面插入一个新行
  • O:在光标所在行的前面插入一个新行

2)vim光标操作

  • 使用按键命令 1G 或 gg 可跳转到文件内容的第1行
  • 使用按键命令 G 可跳转到文件的最后一行
  • 使用按键命令 #G 可跳转到文件中的第#行(其中“#”用具体数字替换)

3)vim编辑文档

只要切换到末行模式执行:set nu命令即可显示行号,执行“:set nonu”命令可以取消显示行号

删除操作:

  • 按 x键或 Delete 键删除光标处的单个字符
  • 使用按键命令 dd 删除当前光标所在行,使用 #dd 的形式还可以删除从光标处开始的#行内容(其中“#”用具体数字替换)
  • 使用按键命令 d^删除当前光标之前到行首的所有字符
  • 使用按键命令 d$ 删除当前光标处到行尾的所有字符

复制操作:

使用按键命令 yy 复制当前行整行的内容到剪贴板,使用 #yy 的形式还可以复制从光标处开始的#行内容(其中“#”用具体数字替换)。复制的内容需要粘贴后才能使用。

粘贴操作:

在 vi编辑器中,前一次被删除或复制的内容将会被保存到剪切板缓冲区中,按p键即可将缓冲区中的内容粘贴到当前光标所在位置之后,按P键则会粘贴到当前光标所在位置之前。

4)vim查找与替换

在命令模式中,按/键后可以输入指定的字符串,从当前光标处开始向后进行查找(按?键则向前查找)。完成查找后可以按n、N 键在不同的查找结果中进行选择。

例如,输入“/yum”,按 Enter键后可以查找出文件中的“yum”字符串并高亮显示,光标自动移动至第一个查找结果处,按n键可以移动到下一个查找结果处

在 vi编辑器的末行模式中,能够将文件中特定的字符串替换成新的内容。当需要大批量修改同一内容时,使用替换功能将大大提高编辑效率。使用替换功能时的末行命令格式如下:

: [替换范围] sub /旧的内容/新的内容[/g]

%:在整个文件内容中进行查找并替换

n,m:在指定行数范围内的文件内容中进行查找并替换

/g部分也是可选内容,表示对替换范围内每行中的所有匹配结果都进行替换,省略“/g”时将只替换每行中的第一个匹配结果

5)vim保存与退出(末行模式)

  • :q!  不保存并退出
  • :wq  保存并退出
  • :x     保存并退出
  • :w     保存
  • :w b.txt    保存为b.txt

Linux目录结构:

  • /boot:此目录是系统内核存放的目录,同时也是系统启动时所需文件的存放目录,如vmlinuz和 initrd.img。在安装inux操作系统时,为boot 目录创建一个分区,有利于对系统进行备份
  • /bin:bin是binary 的缩写。这一目录存放了所有用户都可执行的且经常使用的命令,如cp、ls 等
  • /dev:此目录保存了接口设备文件,如/dev/hdal、/dev/cdrom 等
  • /etc:系统主要的配置文件几乎都放置到这个目录内,例如人员的账号密码文件、各种服务的起始文件等
  • /home:存放所有普通系统用户的默认工作文件夹(即宿主目录、家目录),如用户账号teacher对应的宿主目录位于“/home/teacher/”。如果服务器需要提供给大量的普通用户使用,建议将“/home”目录也划分为独立的分区,以方便用户数据的备份
  • /root:该目录是Linux操作系统管理员(超级用户)root的宿主目录,默认情况下只有root用户的宿主目录在根目录飞而不是在“/home”目录下
  • /sbin:存放Linux操作系统中最基本的管理命令,一般管理员用户才有权限执行
  • /usr:存放其他的用户应用程序,通常还被划分成很多子目录,用于存放不同类型的应用程序
  • /var:存放系统中经常需要变化的一些文件,如系统日志文件、用户邮箱目录等,在实际应用系统/var目录通常也被划分为独立的分区

精彩评论(0)

0 0 举报