今天学习了对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中的帮助命令
help:Shell中的內建命令,可以作为选项使用“--help”
man:手册页,按q或Q退出阅读环境
将man命令的手册信息并保存为文本文件
[root@localhost ~]# man man | col -b > man.txt
col:去除手册页中的格式控制字符
“|”:管道,前面的输出结果作为后面命令的操作对象
“>”:重定向输出,前面的命令成功后,将结果保存到>后面的文件中
“>>”:追加重定向,在指定文件中继续写入,追加到文件末尾
3.info:与man类似,更详细
(二)目录操作命令
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 统计空间占用情况
(三)文件操作命令
touch 创建新文件
创建两个新文件file1.txt 和file2.doc
[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
(四)文件内容操作命令
cat 显示文件内容
查看网卡配置信息
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
more和less 分页查看
head和tail 查看文件开头和末尾
-n 指定行数
---->-f 是实时查看<----
wc 统计单词数量
-c 统计字节数
-l 统计行数
-w 统计单词个数
grep 过滤文件内容 可以直接查找字符串也可以使用条件表达式
-i 忽略大小写
-v 反转,输出与查找条件不符的
(五)归档及压缩
gzip和bzip2 压缩和解压缩
-9 提高压缩比率
-d 解压
使用gzip命令将压缩文件tfile.exe.gz进行解压
[root@localhost ~]# gzip -d tfile.exe.gz
使用bzip2将当前目录下的tfile.exe进行压缩
---->指定一下源文件<----
[root@localhost ~]# bzip2 -9 tfile.exe
tar 归档文件
-c 创建.tar格式包文件
-x 解开.tar格式包文件
-C 解包时释放到指定文件夹
-f 使用归档文件
-j 使用bzip2
-z使用gzip
将整个/etc目录树归档压缩为包文件etc.tar.gz
[root@localhost ~]# tar zcvf etc.tar.gz /etc
将etc.tar.gz文件解压并释放到/tmp目录下
[root@localhost ~]# tar zxvf etc.tar.gz -C /tmp
★(六)vi文本编辑器
工作模式
a.命令模式
光标移动、字符串查找、以及删除复制粘贴文件内容。通过a、i、o进入输入模式,通过:进入末行模式
b.输入模式
录入文件内容,对文本文件修改以及添加新内容。通过esc进入命令模式
c.末行模式。
设置vi编辑环境、保存环境、退出编辑器、对文件内容进行查找和替换。通过esc进入命令模式
命令模式基本操作
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
末行模式基本操作
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