Linux基础知识(一)

1、修改文件所有权

所属权 **:**组权限

bash 复制代码
tian@tian-hang:~$ ll a.txt 
-rw-rw-r-- 1 tian tian 7  6月  7 17:37 a.txt
tian@tian-hang:~$ sudo chown root:root a.txt  //修改文件 所有权:属组权
tian@tian-hang:~$ ll a.txt 
-rw-rw-r-- 1 root root 7  6月  7 17:37 a.txt

2、改变文件权限

u:拥有者用户 a:所有用户

bash 复制代码
chmod u+x a.txt  //文件拥有者增加可执行权限
chmod u-x a.txt  //文件拥有者增加可执行权限

chmod a+x a.txt   //所有用户都有可执行权限
chmod a-x a.txt   //取除a.txt的可执行权限

3、文件类型

bash 复制代码
tian@tian-hang:~$ ll kickpi
总计 1019636
drwxrwxr-x  4 tian tian       4096  5月  8 22:19 ./
drwxr-x--- 27 tian tian       4096  6月  7 17:37 ../
drwxrwxr-x  9 tian tian       4096  5月  8 23:26 aw-image-build/
-rwxrw-rw-  1 tian tian 1044081547  4月 11 22:07 h618-linux-20250901.tar.gz*
drwxrwxr-x  3 tian tian       4096  5月  3 18:36 kernel/
-rw-rw-r--  1 tian tian        474  5月  8 22:19 READE.ME
//其它文件
lrwxrwxrwx   1 root root          7  4月 13 21:19 bin -> usr/bin/
-rw-------   1 root root 2147483648  4月 13 21:19 swapfile
drwxr-xr-x   3 root root       4096  4月 13 21:34 home/
drwx------   2 root root      16384  4月 13 21:19 lost+found/

|--------|----|-------|
| 文件类型 | 符号 | 备注 |
| 普通文件 | - | |
| 目录文件 | d | |
| 字符设备文件 | c | 打印机 |
| 块设备文件 | b | u盘、磁盘 |
| 本地套接字 | s | 网络传输 |
| 有名管道 | p | |
| 符号链接 | l | |

4、建立链接文件

软链接命令:ln -s

: 相当于一个快捷方式,记录的是a.txt访问地址,只能通过a.txt访问。可跨磁盘、分区。

硬链接:ln:inote相同,指向同一个文件,属于一个文件的两个访问入口。不可跨磁盘、分区。

bash 复制代码
//软链接:
tian@tian-hang:~$ ln -s a.txt lna.txt   //创建软链接
tian@tian-hang:~$ ll a.txt  lna.txt   
-rw-rw-r-- 1 root root 7  6月  7 17:37 a.txt
lrwxrwxrwx 1 tian tian 5  6月  7 18:07 lna.txt -> a.txt  //链接文件

//硬链接
tian@tian-hang:~$ sudo ln a.txt lnb.txt
tian@tian-hang:~$ ll -i a.txt lnb.txt lna.txt 
8127670 -rw-rw-r-- 2 root root 7  6月  7 17:37 a.txt
8127930 lrwxrwxrwx 1 tian tian 5  6月  7 18:07 lna.txt -> a.txt
8127670 -rw-rw-r-- 2 root root 7  6月  7 17:37 lnb.txt

5、输入输出重定向

输出重定向:> 和 >>

输入重定向:< 和 <<

单箭头"<"或">"表示清空文件重新写入;双箭头"<<"和">>"表示在文件末尾进行追加内容

bash 复制代码
tian@tian-hang:~$ cat < a.txt          //输出重定向
tian@tian-hang:~$ cat << oo > a.txt     //输出重定向;输入重定向
> 12
> 23
> oo
tian@tian-hang:~$ cat a.txt         //文件查看
12
23
tian@tian-hang:~$ cat < a.txt      //输出重定向
12
23
tian@tian-hang:~$ cat < lnb.txt    //输出重定向
12
23

6、管道符号

符号: | ;将一条命令的输出当作另一条命令的输入

bash 复制代码
tian@tian-hang:~$ ls | grep a.txt 
a.txt
lna.txt

7、文件系统挂载

挂载文件:munt

bash 复制代码
sudo mkdir /mnt/vista   
sudo mount /dev/sdb1 /mnt/vista    //默认读写方式

sudo mount  -r /dev/sdb1 /mnt/vista  //只读方式挂载
sudo mount -rw /dev/sdb1 /mnt/vista  //读写方式挂载

sudo umount -r /dev/sdb1         //卸载文件系统

自动挂载:修改/etc/fstab文件,增加以下内容。

bash 复制代码
​​​​​​​/dev/sdb1 /mnt/vista ext4 auto,rw 0 0

文件系统表示方法

|---------|------------------------------|
| 表示方法 | 描述 |
| ext2 | Linux 的ext2文件系统 |
| ext3 | Linux 的ext3文件系统 |
| ext4 | Linux 的ext4文件系统(Linux默认文件系统) |
| vfat | Windows的FAT16/FAT32文件系统 |
| ntfs | Windows的NTFS文件系统 |
| iso9660 | CD-ROM 光盘标准文件系统 |

挂载设备常用参数

复制代码
tian@tian-hang:/etc$ cat fstab
/dev/fd0  /media/floppy0  auto    rw,user,noauto,exec,utf8 0   0

相关解释:
/dev/fd0
第一个软盘驱动器,现在电脑基本淘汰。
/media/floppy0
软盘挂载目录。
auto
自动识别文件系统类型。
挂载选项拆解
rw:读写挂载
user:普通用户也能手动挂载 / 卸载(不用 sudo)
noauto:开机不自动挂载(重点!和你之前问的对应)
exec:允许执行二进制程序
utf8:字符编码
0 0:不备份、不自检

|----------------|------------|
| 挂载设备常用参数 | 含义 |
| auto | 开机自动挂载 |
| default noauto | 开机不自动挂载 |
| nouser | 只有root 可挂载 |
| ro | 只读挂载 |
| rw | 可读可写挂载 |
| user | 任何用户都可以挂载 |

8、压缩工具

tar : 打包工具,不进行压缩,后缀名 .tar

gzip :压缩用具,输入文件只能是tar打包后的文件 ,后缀名 .tar.gz

bzip2 :压缩工具,更高的压缩效率,输入文件只能是tar打包后的文件,后缀名 .tar.bz2

zip : 压缩工具,通用的打包工具,和Windows无缝对接,后缀名: .zip

压缩部分:

bash 复制代码
tar 最核心的几个选项
先记住最常用的一组:
-c:创建归档
-x:解包
-v:显示过程
-f:指定文件名
-z:配合 gzip
-j:配合 bzip2
-C:解压到指定目录
-t:查看归档内容

tar:
tian@tian-hang:~$ tar -cjf somefile.tar.bz2 somefile    //压缩文件压缩成.tar.bz2格式
tian@tian-hang:~$ file somefile.tar.bz2 
somefile.tar.bz2: bzip2 compressed data, block size = 900k

tian@tian-hang:~$ tar -czf somefile.tar.gz somefile      //打包并压缩文件格式为.atr.gz类型
tian@tian-hang:~$ file somefile.tar.gz 
somefile.tar.gz: gzip compressed data, from Unix, original size modulo 2^32 98754560


gzip:
tian@tian-hang:~$ du somefile/ -sh
96M	somefile/
tian@tian-hang:~$ tar -cf somefile.tar somefile  //文件打包
tian@tian-hang:~$ du somefile.tar  -sh           //文件大小
95M	somefile.tar
tian@tian-hang:~$ gzip somefile.tar              //开始压缩
tian@tian-hang:~$ du somefile.tar.gz  -sh        //压缩后的大小
51M	somefile.tar.gz
tian@tian-hang:~$ gzip -l somefile.tar.gz        //查看压缩效果
         compressed        uncompressed  ratio uncompressed_name
           54937884            98754560  44.4% somefile.tar
tian@tian-hang:~$ gzip -tv somefile.tar.gz       //查看压缩文件的完整性
somefile.tar.gz:	 OK

bzip2:
tian@tian-hang:~$ tar -cf somefile.tar somefile   //可以不用j,直接-cf
tian@tian-hang:~$ bzip2 somefile.tar               //压缩文件
tian@tian-hang:~$ du somefile.tar.bz2 
tian@tian-hang:~$ du somefile.tar.bz2 -sh      
50M	somefile.tar.bz2
tian@tian-hang:~$ bzip2 -tv somefile.tar.bz2     //查看文件的完整性
  somefile.tar.bz2: ok

zip:
tian@tian-hang:~$ zip -r somefile.zip somefile    //压缩文件
tian@tian-hang:~$ du somefile.zip -sh             
51M	somefile.zip
tian@tian-hang:~$ unzip -tv somefile.zip          //检查文件完整性
    testing: somefile/a.txt           OK
    testing: somefile/b.txt           OK
No errors detected in compressed data of somefile.zip.

解压缩部分:

bash 复制代码
tar:
tian@tian-hang:~$ tar -xjf somefile.tar.bz2
tian@tian-hang:~$ tar -xzf somefile.tar.gz

gzip:
tian@tian-hang:~$ gunzip somefile.tar.gz   //解压缩
tian@tian-hang:~$ tar -xf somefile.tar 

bzip2:
tian@tian-hang:~$ bunzip2 somefile.tar.bz2 
tian@tian-hang:~$ tar -xf somefile.tar 

zip:
tian@tian-hang:~$ unzip somefile.zip
  inflating: somefile/swzf-qt/.git/description  
  inflating: somefile/a.txt          
 extracting: somefile/b.txt 

zip加密压缩:

复制代码
tian@tian-hang:~$ zip -e -r somefile.zip somefile  //加密
Enter password:                                    //输入密码
Verify password:                                   //输入密码
  adding: somefile/ (stored 0%)

tian@tian-hang:~$ unzip somefile.zip               //解压缩
Archive:  somefile.zip
[somefile.zip] somefile/swzf-qt/TSK2/WifiHotspotWidget.cpp password:    //输入密码
相关推荐
行智科技1 小时前
ORB-SLAM3代码详解 - 第 01 篇 · 系统总览与三线程架构
linux·ubuntu·架构·自动驾驶
fishwww_ww2 小时前
服务器免密登录与流量端口转发
linux
189228048613 小时前
NV086固态MT29F16T08EWLCHD8-TES:C
大数据·服务器·人工智能·科技·缓存
开开心心_Every4 小时前
解决打印机共享难题的实用工具
linux·b树·安全·游戏·随机森林·pdf·计算机外设
江华森5 小时前
操作系统与 Linux 内核实战教程
linux·运维·服务器
旺王雪饼 www5 小时前
localStorage 和 sessionStorage区别与联系
服务器·前端·javascript
齐潇宇5 小时前
Redis数据库基础
linux·数据库·redis·缓存
xixingzhe25 小时前
AI运维注意点
运维·人工智能
嵌入式学习和实践6 小时前
Ubuntu 系统 socat 详细介绍与使用教程 - 映射任意两种数据通道
linux·ubuntu·虚拟串口·数据映射·socat