Linux基础

简介

Linux是一个基于Linux 内核的开源类Unix 操作系统;Linus Torvalds于 1991 年 9 月 17 日首次发布的操作系统内核。Linux 通常打包为Linux 发行版。

Linux最初是为基于Intel x86架构的个人计算机开发的,但此后被移植到的平台比任何其他操作系统都多。由于基于 Linux 的Android在智能手机上的主导地位;截至 2022 年 5 月;Linux(包括 Android)在所有通用操作系统中拥有最大的安装基础。

Linux也可以在嵌入式系统上运行,即操作系统通常内置在固件中并针对系统高度定制的设备。这包括路由器、自动化控制、智能家居设备、视频游戏机、电视(三星和 LG智能电视分别使用Tizen和WebOS)

使用方法

一、目录操作

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

最后更新: 2025 年 06 月 30 日