Linux基础
Linux,一般指GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个遵循POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
Linux不仅系统性能稳定,而且是开源软件,用户可以自由裁剪,灵活性高,功能强大等。
一、目录操作
1.1 目录查看-ls
ls # 查看当前目录下的所有目录和文件
ls / # 查看指定目录下的所有目录和文件 如: ls /usr
ls -l # 查看当前目录下的所有目录和文件详细信息(用户、组、大小、创建时间、权限信息、文件类型)
ls -a 或 ll # 查看当前目录下的所有目录和文件(包括隐藏的文件)
# 当使用ls -l会显示文件的详细信息,包含权限信息:
-rw-r--r--
- 文件类型(- 文件 d 目录 l 软链接文件)
rw- r-- r--
u g o
u:所有者 g:所属组 o:其他人
r:读 w:写 x:执行
1.2 目录切换-cd
cd / # 切换到根目录
cd .. # 切换到上一级目录
cd ~ # 切换到home目录
cd - # 切换到上次访问的目录
1.3 目录操作(增,删,改,查)
1.3.1 查看当前目录-pwd
pwd # 显示当前目录
# 特殊目录符号 ~ 当前用户的home目录 . 当前目录 .. 上一级目录
1.3.2 创建目录(增)-mkdir
mkdir logs #在当前目录下创建一个名为logs的目录
mkdir /usr/logs #在指定目录下创建一个名为logs的目录
1.3.3 删除目录-rmdir和rm
rmdir /test #删除名为test的空目录
rm 文件 #删除当前目录下的文件
rm -f 文件 #删除当前目录的的文件(不询问)
rm -r aaa #递归删除当前目录下的aaa目录
rm -rf aaa #递归删除当前目录下的aaa目录(不询问)
1.3.4 目录修改-mv和cp
mv 当前目录 新目录 #重命名目录
mv aaa bbb 将目录aaa改为bbb
mv 目录名称 目录的新位置 #剪切目录
mv /usr/tmp/aaa /usr #将/usr/tmp目录下的aaa目录剪切到 /usr目录下面
cp -r 目录名称 目录拷贝的目标位置 -r代表递归 #拷贝目录
cp -r /tmp/test1 /root #将目录/tmp/test1复制到目录/root下
1.3.5 搜索目录-find
find 目录 参数 文件名称
find /usr/tmp -name 'a*' #查找/usr/tmp目录下的所有以a开头的目录或文件
二、文件操作
2.1 新建文件-touch
touch 文件名
touch aa.txt #在当前目录创建一个名为aa.txt的文件
2.2 删除文件-rm
rm -rf 文件名
rm -rf /tmp/yum.log #删除文件/tmp/yum.log
2.3 修改文件-vi或vim
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
命令行模式(command mode)
i o a #进入编辑模式
: #进入底行模式
/aa #查找字符aa
↑,↓,j #控制光标移动
dd #删除当前行
编辑模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
ESC #退出编辑模式到命令行模式;
底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等.
:q #退出编辑
:q! #强制退出
:wq #保存并退出
打开文件命令: vi 文件名
示例:打开当前目录下的aa.txt文件
vi aa.txt
vim aa.txt
注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。
编辑文件:使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。 i:在光标所在字符前开始插入 a:在光标所在字符后开始插入 o:在光标所在行的下面另起一新行插入
保存文件:第一步:ESC 进入命令行模式 第二步:: 进入底行模式 第三步:wq 保存并退出编辑或者q! 撤销本次修改并退出编辑
2.4 文件查看-cat/more/less/tail/head
cat:看最后一屏
#示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容
cat sudo.conf
more:百分比显示
#示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
more sudo.conf
less:翻页查看
#示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
less sudo.conf
head:主要是用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。
head -n 5 filename #显示filename文件中的前 5 行内容
head -n 5 filename1 filename2 #显示filename1和 filename2文件中的前 5 行内容
head -n -5 filename #显示 filename文件中除了最后5行外的内容
tail:指定行数或者动态查看,Ctrl+C结束
tail -f filename/tail -n 10 -f filename #显示filename文件的尾部内容(默认10行,相当于添加参数 -n 10),刷新显示在屏幕上。ctrl+c退出。
tail -n 20 filename #显示filename最后20行。
tail -n +10 filename #显示filename10行以后的内容。
tail -c 10 notes.log #显示文件 notes.log 的最后 10 个字符