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 个字符