linux基础命令

一、Linux文件与目录结构

1.文件

Linux一切皆文件

2.文件类型

字符文件类型说明
-普通文件存储文本或二进制数据
d目录文件存储其他文件或目录的容器
c字符设备文件实现了字符设备驱动程序接口的设备文件,例如串行端口、键盘、鼠标等等
b块设备文件实现了块设备驱动程序接口的设备文件,例如硬盘、U盘等等
s套接字实现了进程间通信机制的一种方式,用于网络编程或进程间通信
p命名管道(FIFO)实现了一种进程间通信机制,允许一个进程打开特殊文件,并将数据写入该文件,而另一个进程则可以从该文件中读取数据
l符号链接文件包含另一个文件的路径名,通过打开这个链接可以访问源文件

ls -l列出的项

  • 第一个字母代表文件类型,后面的代表权限。

bin -> usr/bin

  • 表示 bin 是一个软链接(symbolic link),指向 /usr/bin 目录。
  • 软链接充当了一个指针,指向另一个文件或目录,类似快捷方式。
  • (硬链接相当于取别名,可以通过ls-i查看inode辨别是否是同一个文件)。

QQ202304161027339dfe8d54623cbf0b.png

3.目录结构

在Linux中,所有的文件和目录都位于根目录(/)下或者其子目录中。Linux文件系统的目录结构是一个树形结构,从根目录开始,一直延伸到最底层的子目录和文件。

QQ20230416102733.png

ubuntu 20.04 下的二级目录内容和访问权限

目录名内容访问权限
bin存放二进制可执行文件(命令)所有用户可读、执行
boot存放启动所需的文件,如内核、引导程序等只有root用户可读写、执行
cdrom挂载光盘后的挂载点只有root用户可读写、执行
dev存放设备文件所有用户可读写、执行
etc存放系统配置文件只有root用户可读写、执行
home存放普通用户的家目录每个用户有自己的家目录,只有该用户及root用户可读写、执行
lib存放库文件所有用户可读、执行;只有root用户可写
lib32, lib64, libx32存放特定位数的库文件同lib目录
lost+found用于恢复一些没有指定父目录的文件、目录,通常为空只有root用户可读写、执行
media自动挂载的可移动设备的挂载点只有root用户可读写、执行
mnt临时挂载其他文件系统的挂载点只有root用户可读写、执行
mylog可能是一个用户自定义的目录取决于创建该目录的用户所属组和权限
opt存放第三方软件包只有root用户可读写、执行
proc存放进程信息的虚拟文件系统所有用户可读,只有root用户可写
root超级用户(root)的家目录只有root用户可读写、执行
run运行时文件系统,存放一些运行时需要的文件所有用户可读写、执行
sbin存放超级用户使用的二进制命令只有root用户可读写、执行
snap存放Snap应用程序的挂载点只有root用户可读写、执行
srv存放一些服务相关的数据只有root用户可读写、执行
swapfile交换文件只有root用户可读写、执行
sys存放系统相关的文件,通常是sysfs文件系统的挂载点所有用户可读,只有root用户可写
tmp存放临时文件所有用户可读写、执行;通常定期清空
usr存放主要系统软件,如/usr/bin、/usr/include等所有用户可读、执行;只有root用户可写
var存放经常变化的文件,如日志文件、缓存文件等所有用户可读写、执行;只有root用户可写某些目录,如/var/log等

二、基础命令

命令

1.格式

命令名 [选项(s)] [参数(s)]
  • 命令区分大小写,选项不区分
  • [ ]表示内容可以不要
  • 有多个选项,选项可以组合使用
  • 每两部分需要空格隔开
  • 参数可能是多个

2.本质

  • 命令就是一组程序。

  • 它们已经被被添加到了环境变量,我们可以在任何目录下使用它们。

  • 可以通过which查找命令,它会在环境变量 PATH 指定的路径中查找指定的命令,并输出该命令的完整路径

QQ20230416102733817654ed74cb1a4c.png

ls命令

功能:列出文件夹信息

语法:ls [-l -h -a] [参数]

  • 参数:被查看的文件夹,不提供参数,表示查看当前工作目录
  • -l,以列表形式查看
  • -h,配合-l,以更加人性化的方式显示文件大小
  • -a,显示隐藏文件
  • -i,列出指定目录中文件和目录的inode号码

QQ202304161027331004f7cde2704425.png

在Linux中以.开头的,均是隐藏的,需要-a选项才可查看到。

total表示文件大小总和

pwd命令

功能:展示当前工作目录

语法:pwd

QQ20230416102733b61048f42f97673b.png

cd命令

功能:切换工作目录

语法:cd [目标目录]

参数:目标目录,不提供默认切换到当前登录用户HOME目录,但可以通过cdcd ~切换到。

扩展–特殊路径符:

./ 表示当前目录。

../ 表示上一级目录,可以嵌套。

~ 表示用户主目录。

如:

ls ./:列出当前目录文件,与ls相同

cd ../../:切换到上两级目录

cd ~cd:切换到当前用户工作目录

QQ2023041610273338e593e509b4be1f.png

HOME目录

每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。

  • 普通用户的HOME目录,默认在:/home/用户名

  • root用户的HOME目录,在:/root

QQ202304161027336c3bd9dd56557be2.png

相对路径、绝对路径

  • 相对路径,/开头的称之为相对路径

    相对路径表示以当前目录作为起点,去描述路径,如test/a.txt,表示当前工作目录内的test文件夹内的a.txt文件

  • 绝对路径,/开头的称之为绝对路径

    绝对路径从开始描述路径

QQ202304161027331e50d1c5f1231a9f.png

mkdir命令

功能:创建文件夹

语法:mkdir [-p] 参数

  • 参数:被创建文件夹的路径
  • 选项:-p,可选,表示创建前置路径

QQ20230416102733993f444b26ac6732.png

QQ20230416102733374e281ff7edf235.png

touch命令

功能:创建文件

语法:touch 参数

  • 参数:被创建的文件路径(前置路径存在)

QQ20230416102733e7a532388b078df9.png

cat命令

功能:查看文件内容

语法:cat 参数

  • 参数:被查看的文件路径

QQ202304161027332f7131323896ad49.png

more命令

功能:查看文件,可以支持翻页查看

语法:more 参数

  • 参数:被查看的文件路径
  • 在查看过程中:
    • 空格键翻页
    • q退出查看

下方我们先用bin目录的内容覆盖文件test的内容,再用more查看

# test是文件
echo $(ls bin) > test
more test

QQ202304161027336bd7e4d4b6408d72.png

cp命令

功能:复制文件、文件夹

语法:cp [-r] 参数1 参数2

  • 参数1,被复制的
  • 参数2,要复制去的地方
  • 选项:-r,可选,复制文件夹使用

示例:

  • cp a.txt b.txt,复制当前目录下a.txt为b.txt
  • cp a.txt test/,复制当前目录a.txt到test文件夹内
  • cp -r test test2,复制文件夹test到当前文件夹内为test2存在

QQ20230416102733651eb153118af117.png

mv命令

功能:移动文件、文件夹

语法:mv 参数1 参数2

  • 参数1:被移动的
  • 参数2:要移动去的地方,参数2(目标目录)如果不存在,则会进行改名

QQ20230416102733c3a252f985c56779.png

QQ20230416102733763ddec192894017.png

rm命令

功能:删除文件、文件夹

语法:rm [-r -f] 参数...参数

  • 参数:支持多个,每一个表示被删除的,空格进行分隔
  • 选项:-r,删除文件夹使用(递归)
  • 选项:-f,强制删除,不会给出确认提示,一般root用户会用到

QQ20230416102733c160d65b5dfb4873.png

QQ20230416102733fb63f1fd47601afc.png

rm命令很危险,一定要注意,特别是切换到root用户的时候。

which命令

功能:查看命令的程序本体文件路径

语法:which 参数

  • 参数:被查看的命令

QQ2023041610273398b268bcfba81af6.png

find命令

功能:搜索文件

语法1按文件名搜索:find 路径 -name 参数

  • 路径,搜索的起始路径

  • 参数,搜索的关键字,支持通配符*

    • *test表示搜索任意以test结尾的文件
    • test*表示以test开头的文件
    • *test*表示包含test的文件
  • find path -iname "test.txt":搜索名为test.textTest.text的文件

  • find path -not -name "*test*.txt":搜索文件名以.txt结尾但不包含单词test的文件

  • find path d -name "logs":搜索目录名为logs的所有子目录

下方执行语句为

find / -iname "mv"

QQ202304161027337aea4bfd8c217e77.png

grep命令

功能:过滤关键字

语法:grep [-n] 关键字 文件路径

  • 选项-n,可选,表示在结果中显示匹配的行的行号。
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

作为管道符的输入,具体见下方管道符。

image.png

wc命令

功能:统计

语法:wc [-c -m -l -w] 文件路径

  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口

参数文件路径,可作为管道符的输入,具体见下方管道符

imagefca5e4ece194a21f.png

管道符|

写法:|

功能:将符号左边的结果,作为符号右边的输入

示例:

cat a.txt | grep itheima,将cat a.txt的结果,作为grep命令的输入,用来过滤itheima关键字

可以支持嵌套:

cat a.txt | grep itheima | grep itcast

image4ff024ce53579989.png

echo命令

功能:输出内容

语法:echo 参数

  • 参数:被输出的内容
  • $符号通常用来表示一个环境变量的值

image4f68e58ceeb5bb1e.png

image74c805f58e4bd074.png

`反引号

功能:被两个反引号包围的内容,会作为命令执行

示例:

  • echo `pwd`,会输出当前工作目录

image9d604b7a70ffa322.png

tail命令

功能:查看文件尾部内容

语法:tail [-f] 参数

  • 参数:被查看的文件
  • 选项:
    • -f,持续跟踪文件修改
    • -n 空格+ 数字,显示末尾多少行

image193c6b42c21a3e5d.png

head命令

功能:查看文件头部内容

语法:head [-n] 参数

  • 参数:被查看的文件
  • 选项:-n,查看的行数

image4c157e8bac6590f8.png

重定向符

功能:将符号左边的结果,输出到右边指定的文件中去

  • >,表示覆盖输出
  • >>,表示追加输出

image6b6f94a2e60d850d.png

image177b485f4d7b63e6.png

软链接和硬链接

软链接也称为符号链接,类似于 windows 里的快捷方式。

  • ln -s 原路径 创建链接的目标路径
  • 支持文件和文件夹

操作同步、删除原文件、软链接也无法使用。

可以对路径较长的文件设立软链接,但是只能在指定目录使用。可以考虑添加环境变量。

image7033ee0542f63ecc.png

硬链接相当于取别名,可以通过ls-i查看inode辨别是否是同一个文件,inode是文件标识。

  • ln 源文件路径 硬链接路径
  • 只支持普通文件

下图中inode都是14846,是同一个文件

imaged869f0500d6cbbaa.png

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值