一、linux基础命令

linux命令的执行必须依赖于shell命令解释器。shell实际上是在linux系统中运行的一种特殊程序,它位于操作系统内核与用户之间,负责接收用户输入的命令并进行解释,将需要执行的操作传递给系统内核执行,shell在用户和内核之间充当了一个“翻译官”的角色。当用户登录到linux系统时,会自动加载一个shell程序,以便给用户提供可以输入命令的操作系统。

1、首先介绍一下快捷键

Tab键:用来补齐命令字或文件、目录名,例如输入“ifcon”后按Tab可以补齐为“ifconfig”,只能向后补齐。按两次Tab键,系统将输出可用的名称列表。
Ctrl+U键:快速删除当前光标处之前的所有字符内容。
Ctrl+K键:快速删除当前光标处之后的所有字符内容。
Ctrl+L键:清屏,清空当前屏幕中显示内容。
Ctrl+C键:取消当前命令行的编辑。

2、ls命令——列表显示目录内容

ls -l :以长格式显示文件,包括权限、大小、最后更新时间等详细信息。
ls -a:显示所有子目录和文件的信息,包括名称以点号开头的隐藏目录和文件。
ls -A:与上一个基本相同,但不显示当前目录及父目录。(即“.”与“..”)。
ls -d:显示目录本身的属性。
ls -h:详细显示目录或文件的大小,一般结合-l使用。
ls -R:递归显示指定目录及其子目录中的所有内容。

3、du命令——统计目录及文件的空间占用情况

du -a:统计所有文件
du -h:以人性化方式显示
du -s:只统计参数占用大小(占总空间)
一般结合使用:du -sh;du -ah

4、创建目录和文件

mkdir :创建新目录。例:mkdir /abc 创建abc目录。mkdir -p /abc/111/222 在abc中创建111,在111中创建222。
touch :创建空文件。例:touch sun 创建sun文件。
echo:重定向生成文件。例:echo "this is he he he " > abc.txt 将this is he he he 写入到abc.txt中。
vim:进入vim模式写内容。例:vim abc 进入abc开始写内容。

5、cp命令——复制文件或目录

cp -f:覆盖时不提醒,直接覆盖。
cp -i:覆盖时提醒。
cp -p:保持原有权限等属性。
cp -r:递归复制(用于目录)。

6、rm命令——删除文件或目录

rm -f:删除不提醒。
rm -i:删除提醒。
rm -r:递归删除,一般目录会使用(谨慎使用)。

7、mv命令——移动文件或目录

需要注意的是,要加绝对路径。如果目标位置与源位置相同,则效果相当于为文件或目录改名。
mv 222.txt /opt 将222.txt文件移动到opt目录下。
mv 222.txt 333.txt 将222.txt重命名为333.txt。

8、which与find命令——查找执行命令与查找文件或目录

which主要用于查找外部命令。例:which ls 查找ls命令所在文件路径。
find是查找文件或目录。
按名称查找 -name
按大小查找 -size(小于指定文件);  +size(大于指定文件)。
按属主查找 -user
按类型查找 -type  其中主要类型有:f(普通文件);d(目录);b(设备文件——硬盘,内存);c(字符设备文件——键盘,鼠标)
例:查找/etc中以"resol"开头,以".conf"结尾的文件 find /etc -name "resol*.conf"

9、ln命令——创建链接文件

软链接 硬链接
删除原文件后 失效 仍可用
使用范围 文件或目录 文件
保存位置 与原文件可以位于不同系统 与原文件必须同一个系统(如同一个linux分区内)
区别说明 创建快捷方式 创建别名文件

例:ln abc /123 创建abc的链接文件并命名为123

二、目录及文件操作

简单介绍一下常见的子目录及其作用

/boot:系统内核存放目录。
/bin:执行命令目录,如cp ls。
/dev:接口设备文件目录。
/etc:系统设置与管理文件目录。
/home:普通用户工作文件目录。
/root:系统管理员root宿主目录。
/sbin:系统基本命令,一般管理员用户才有权限执行。
/usr :存入其他用户应用程序。
/var:存放系统中需要变化的一些文件,如系统日志文件、用户邮箱目录等。

1、cat命令——显示并连接文件的内容

这个命令应用比较简单,主要用来查看文件内容。
例:cat /etc/abc.conf  查看etc下abc.conf文件的内容。

2、more与less命令——分页查看文件内容

more与less命令用途相同,都是全屏方式分页显示文件内容。
例:more /etc/httpd.conf 全屏显示etc下httpd.conf文件。
less /etc/httpd.conf 全屏显示etc下httpd.conf文件。
more less
用途 全屏查看文件 全屏查看文件
翻页 Enter逐行滚动;空格是下翻一屏;q退出 Pg up 向上翻;Pg dn 向下翻
文件显示 百分比 文件名

3、head与tail——查看开头与末尾内容

这两个命令用法也很简单,默认查看都为十行内容,加上参数就可以查看指定行数的内容。
例:head -5 /etc/httpd.conf 查看httpd.conf文件开头的5行内容。
tail -5 /etc/httpd.conf 查看httpd.conf文件末尾的5行内容。

4、wc命令——统计文件内容中的单词数量

wc -l:统计行数
wc -w:统计单词个数
wc -c:统计字节数

5、grep命令——检索、过滤文件内容

grep -i:忽略大小写
grep -v:反转查找
条件:要查找的目标,双引号括起来。
"^......":以......为开头
"......$":以......为结尾
"^$":空行

6、gzip与bzip命令——压缩解压

gzip -9 文件名:创建压缩文件
gzip -d 文件名:解压文件(gz格式)
bzip -9 文件名:创建压缩文件
bzip2 -d 文件名:解压文件(bz2格式)

7、tar命令——归档和释放文件

tar -c:创建tar格式的文件
tar -x:解开tar格式的文件
tar -v:输出详细信息
tar -f:使用归档文件
tar -p:打包时保留原文件、目录的权限
tar -t:列表查看包内文件
tar -C:解包时,指定释放目标文件
tar -z:调用gzip程序进行压缩或解压
tar -j:调用bzip2程序进行压缩或解压
tar -P:打包时保留文件、目录的绝对路径

三、vi编辑器

在vi编辑界面中可以使用三种不同的工作模式——命令模式、输入模式、末行模式。

vim 文件 可以直接进入文件的命令模式。按冒号“:”以及“/”可以进入末行模式。按a、i、o等可以进入输入模式。

在输入或末行模式均可按Esc返回至命令模式。

命令模式:
x或Del:删除光标处某个单词
dd:删除光标所在行
#dd:删除光标开始#行内容(#为数字)
d^:删除光标到行首
d$:删除光标到行尾
yy:复制当前行
#yy:复制光标后#行(#为数字)
p:粘贴到光标之后
P:粘贴到光标之前
u:撤销最近一次操作
U:撤销当前行所有操作

末行模式:
:e 新文件 —打开新文件进行编辑
:r 新文件—当前文件中读入其它文件内容
:wq —保存
:wq!—强制保存
:q—退出
:q!—强制退出
:w /root/abc—另存为其它文件
/abc—从上而下查找abc,n定位下一个;N定位上一个
?abc—从下而上查找abc,n定位下一个;N定位上一个
:s /old/new—当前行中第一个old替换为new
:s /old/new/g—当前行中所有old替换为new
:#,# s /old/new/g—在行#,#中old替换为new
:s /old/new/c—替换时提醒用户
:% s /old/new/g—全文old替换为new