Linux基本概念与指令
Linux文件存储结构
/
(根目录)根目录下的存储结构/bin
命令对应的可执行文件/home
普通用户的家目录/boot
系统开机使用的一些镜像文件/ect
配置目录,操作系统的设置/dev
外部设备/innt
临时挂载点/lib
系统中的哭文件/root
root用户的家目录/usr
系统的资源文档
文件的操作命令
Linux底下的文件类型
-
普通文件类型
Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-] -
目录文件
就是目录, 能用 # cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx] -
块设备文件
块设备文件 : 就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b] -
字符设备
字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c] -
套接字文件
这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型 -
管道文件
FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p] -
链接文件
类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]
显示该信息的命令:
ls -l
显示的内容:文件类型(一个字符)+文件权限+连接数+属主+组+size+最后文件修改时间+文件名
文件的简单操作命令
- 创建
普通文件:touch+文件名+后缀
目录文件:mkdir+目录名 - 删除
普通文件:rm+文件名
目录文件:rmdir+目录名(空) / rm -r+目录名(非空) - 剪切
mv+源文件+目的路径 - 重命名
mv+源文件+源文件路径/newname - 拷贝
普通文件:cp+源文件名+目的路径
目录文件:cp -r+源文件名+目的路径 - 查看文件夹下的内容
普通文件:cat+文件名 - 编辑普通文件
vi/vim+文件名
文件的复杂操作命令
- 查看文件命令
more+文件名:一部分一部分的看
less+文件名:只读,q退出
Head -n+文件名:看前n行
Tail -n+文件名:看后n行
cat—+文件名:全部显示
文件的合并:cat main.c a.txt>b.txt(合并内容)
- 文件搜索
Find path option
-name 当前路径下按名字查找
-perm 权限
-user 属主
-group 组
-ctime +n/-n创建时间
-mtime +n/-n 最后修改时间 - 彻底删除文件
shred+option+filename
-n 自行指定重写覆盖的次数,默认为三次
-s 覆盖指定的字节数(可接受K、M、G等等的单位)
-u 在重写覆盖后截断和删除文件
-v 显示过程
-z 添加一个带有0的最终覆盖,以隐藏分解
shred -n 3 -u test 覆盖test文件三次,并删除 - 文件的压缩和解压
压缩:zip filename.zip file
解压:unzip filename.zip
不同后缀的文件解压和压缩命令不同
*.tar 用 tar –xvf 解压
*.gz 用 gzip -d或者gunzip 解压
.tar.gz和.tgz 用 tar –xzf 解压
*.bz2 用 bzip2 -d或者用bunzip2 解压
*.tar.bz2用tar –xjf 解压
*.Z 用 uncompress 解压
*.tar.Z 用tar –xZf 解压
*.rar 用 unrar e解压
*.zip 用 unzip 解压
tree命令
Linux tree命令用于以树状图列出目录的内容。
执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。
- 安装homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 安装tree:
brew install tree
Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。
- -a 显示所有文件和目录。
- -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
- -C 在文件和目录清单加上色彩,便于区分各种类型。
- -d 显示目录名称而非内容。
- -D 列出文件或目录的更改时间。
- -f 在每个文件或目录之前,显示完整的相对路径名称。
- -F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
- -g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
- -i 不以阶梯状列出文件或目录名称。
- -I<范本样式> 不显示符合范本样式的文件或目录名称。
- -l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
- -n 不在文件和目录清单加上色彩。
- -N 直接列出文件和目录名称,包括控制字符。
- -p 列出权限标示。
- -P<范本样式> 只显示符合范本样式的文件或目录名称。
- -q 用"?"号取代控制字符,列出文件和目录名称。
- -s 列出文件或目录大小。
- -t 用文件和目录的更改时间排序。
- -u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
- -x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。