今天学习了对Linux命令的理解和Linux系统中对文件和目录进行管理的基础命令。

在Linux系统中需要通过命令来实现某一项功能,Linux命令的执行需要依赖于Shell命令解释器。Shell是在Linux系统中运行的一种特殊程序,Shell解释器位于用户和内核之间,Shell接收到用户的命令并进行解释,然后将需要执行的的操作传递给内核来执行。根据Linux命令和Shell程序的关系,分为内部命令和外部命令。

Linux命令对大小写敏感,格式:命令字 [选项] [参数]

以下辅助操作可以提高输入效率:

Tab键:自动补全命令,能够唯一定位一个命令字或文件、目录名,否则可按两次Tab键;

Ctrl+u:删除当前光标之前的所有内容;

Ctrl+k:删除从当前光标处到行尾的所有内容;

Ctrl+l:清空当前屏幕中显示的内容;

Ctrl+c:取消当前命令行的编辑,切换一行新的命令提示符;

------>U\K\L\C这里应该是小写的(linux是区分大小写的)<------

Ctrl+a:回到光标所在命令行的最前端

Ctrl+e:回到光标所在命令行的最末端

(一)Linux中的帮助命令

  1. help:Shell中的內建命令,可以作为选项使用“--help”

  2. man:手册页,按q或Q退出阅读环境

    将man命令的手册信息并保存为文本文件

 [root@localhost ~]# man man | col -b > man.txt

      col:去除手册页中的格式控制字符

      “|”:管道,前面的输出结果作为后面命令的操作对象

      “>”:重定向输出,前面的命令成功后,将结果保存到>后面的文件中

      “>>”:追加重定向,在指定文件中继续写入,追加到文件末尾

3.info:与man类似,更详细

(二)目录操作命令

  1. pwd 查看当前工作目录

[root@localhost ~]# pwd
/root

 2.cd 切换工作目录

    切换到/home目录下

[root@localhost ~]# cd /home        
[root@localhost home]#

 绝对路径:以“/”为起点

相对路径:以当前工作目录为起点;直接使用目录名或文件名,以“.”开头明确表示以当前工作目录为起点,以“..”开头表示以当前目录的上一级目录为起点,“~用户名”开头表示以指定用户的宿主目录为起点

----->使用~进行宿主目录切换的时候,不一定非要加上用户名,也可以直接使用cd ~ 表示进入对应用户的宿主名录<-----

3.ls 显示目录内容

-l:以长格式显示/home目录下的内容

[root@localhost ~]# ls -l /home

-a:显示所有目录和文件信息,包括“.”开头的隐藏文件

[root@localhost ~]# ls -a /home

-R:递归显示指定目录及子目录的所有内容

-h:显示目录或文件的大小

4.mkdir 创建新目录

-p:递归创建多层目录 

[root@localhost ~]# mkdir -p /media/cdrom
[root@localhost ~]# ls -R /media
/media:
cdrom
/media/cdrom:

 5.du 统计空间占用情况

(三)文件操作命令

  1. touch 创建新文件

    创建两个新文件file1.txt 和file2.doc

     

  2. [root@localhost ~]# touch file1.txt file2.doc

 

 2.file 查看文件类型,文件扩展名与类型没有绝对关系

    查看/etc/resolv.conf的文件类型

[root@localhost ~]# file /etc/resolv.conf

3.cp 复制文件或目录

-f 不提醒,强制复制

-i 提醒

-r 递归复制所有文件及子目录

将目录/boot/grub/ /etc/httpd/conf/复制到当前目录进行备份

 [root@localhost ~]# cp -r /boot/grub/ /etc/httpd/conf/ ./

4.rm 删除文件或目录

与cp命令相对应

删除复制到当前目录中的conf树,且不提醒用户

 [root@localhost ~]# rm -rf ./conf/

5.mv 移动文件或目录

将当前目录中的grub目录转移到public_html目录中

 [root@localhost ~]# mv grub public_html

6.which 查找命令文件及所在位置

[root@localhost ~]# which ls

7.find 查找文件或目录

-name 按名称查找,允许使用通配符“*”“?”

[root@localhost ~]# find /etc -name "resol*.conf"

-user 按属主查找

[root@localhost ~]# find /var/log -user bby

-type 按类型查找

[root@localhost ~]# find /boot -type d

普通文件f;目录d;块设备文件b;字符设备文件c;

同时使用多个查找条件时表达式之间使用-a或-o(and、or)

----->find命令有可以按时间查找<----

8.ln 建立链接(符号链接、硬链接)不能对目录建立硬链接

-s 创建符号链接

为文件/etc/httpd/conf/httpd.conf建立符号链接文件,保存到/etc目录中

[root@localhost ~]# ln -s /etc/httpd/conf/httpd.conf /etc/

          --->etc后面貌似要加一个文件名称,对...<---

 

为网卡配置脚本文件/usr/sbin/sysconfig-config-network建立名为mynetconfig的硬链接文件,以便通过mynetconfig文件也可以对网卡参数进行配置

[root@localhost ~]# ln /usr/sbin/sysconfig-config-network /sbin/mynetconfig

 

(四)文件内容操作命令

  1. cat 显示文件内容

    查看网卡配置信息

     

  2. [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
  3. more和less 分页查看

  4. head和tail 查看文件开头和末尾

    -n 指定行数

    ---->-f 是实时查看<----

  5. wc 统计单词数量

    -c 统计字节数

    -l 统计行数

    -w 统计单词个数

  6. grep 过滤文件内容 可以直接查找字符串也可以使用条件表达式

    -i 忽略大小写

    -v 反转,输出与查找条件不符的

 (五)归档及压缩

  1. gzip和bzip2 压缩和解压缩

    -9 提高压缩比率

    -d 解压

    使用gzip命令将压缩文件tfile.exe.gz进行解压 

  2. [root@localhost ~]# gzip -d tfile.exe.gz
  3. 使用bzip2将当前目录下的tfile.exe进行压缩

    ---->指定一下源文件<----

  4. [root@localhost ~]# bzip2 -9 tfile.exe
  5.  tar 归档文件

    -c 创建.tar格式包文件

    -x 解开.tar格式包文件

    -C 解包时释放到指定文件夹

    -f 使用归档文件

    -j 使用bzip2

    -z使用gzip

     

  6. 将整个/etc目录树归档压缩为包文件etc.tar.gz
  7. [root@localhost ~]# tar zcvf etc.tar.gz /etc

    将etc.tar.gz文件解压并释放到/tmp目录下

  8. [root@localhost ~]# tar zxvf etc.tar.gz -C /tmp

★(六)vi文本编辑器

  1. 工作模式

    a.命令模式

    光标移动、字符串查找、以及删除复制粘贴文件内容。通过a、i、o进入输入模式,通过:进入末行模式

    b.输入模式

    录入文件内容,对文本文件修改以及添加新内容。通过esc进入命令模式

    c.末行模式。

    设置vi编辑环境、保存环境、退出编辑器、对文件内容进行查找和替换。通过esc进入命令模式

  2. 命令模式基本操作

    a、i、o切换到输入模式,同时确定插入点位置

    a:当前光标位置后插入

    A:光标所在行末尾插入

    i:当前光标位置前插入

    I:光标所在行开头插入

    o:光标所在行后面插入新行

    O:光标尾在行前面插入新行

    Ctrl+f 向下翻页 Ctrl+b 向上翻页

    行内跳转 "^" "0"光标跳转到行首 "$"跳转到行尾

    行间跳转 "1G""gg"跳转到文件第一行 "G"跳转到文件最后一行 "#G"跳转到文件的第#行

    复制 "yy"复制整行 "#yy"复制从光标开始的#行内容

    粘贴 p

    删除 "dd"删除整行 "#dd"删除从光标开始的#行内容

       “d^”删除当前光标之前到行首的字符

        "d$"删除当前光标处到行尾的字符

    文件内容查找 "/"后输入字符串  n、N从查找结果中选择

    撤销编辑 u:取消最近一次 U:取消对当前行所做的所有编辑

    需要保存当前内容并退出 ZZ

  3. 末行模式基本操作

    a.:w 保存(另存为:w 文件名/路径)

    b.:wq 保存并退出(:x或者按ZZ)

    c.:q 退出

    d.:q!不保存退出

    e.:e 在当前文件打开新文件

    f.:r 读取新文件并复制到当前文件

    g.: [范围] sub /旧内容/新内容 [/g]   文件内容替换

      范围:% 整个文件内容中替换

          n,m 行数范围内替换

      /g:每一行所有匹配结果都替换

    h.:set nu 显示行号   :set nonu 取消行号

     永久显示行号,配置vim文件[root@localhost ~]# vi ~/.vimrc

     在文件中添加set nu