Linux基本操作
今天学习了Linux的基本操作,全部是干货,希望大家多多关注多多点赞!!
Linux基础
Linux系统的组成:
linux内核(linus 团队管理)
shell:用户与内核交互的接口
文件系统:ext3、ext4等。windows 有 fat32 、ntfs 第三方应用软件
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器)。Shell可以执行内部命令、应用程序、shell脚本
Linux基本的目录结构
Linux 文件系统是一个目录树的结构,文件系统结构从一个根目录开始,根目录下可以有任意多个文件和子目录,子目录中又可以有任意多个文件和子目录
bin 存放二进制可执行文件(ls,cat,mkdir等) boot 存放用于系统引导时使用的各种文件dev 用于存放设备文件
etc 存放系统配置文件
home 存放所有用户文件的根目录
lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt 系统管理员安装临时文件系统的安装点opt 额外安装的可选应用程序包所放置的位置proc 虚拟文件系统,存放当前内存的映射
root 超级用户目录
sbin 存放二进制可执行文件,只有root才能访问
tmp 用于存放各种临时文件
usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
var 用于存放运行时需要改变数据的文件
命令基本格式
选项和参数都作为Shell命令执行时的输入,它们之间用空格分隔开。
Linux是区分大小写的 一般来说,后面跟的选项如果单字符选项前使用一个减号-。单词选项前使用两个减号–
例子:ls -a和ls --all,a 单个字符使用一个-,一个单词all 使用两个-- 在Linux中,可执行的文件也进行了分类:
内置命令:出于效率的考虑,将一些常用命令的解释程序构造在Shell内部。外置命令:存放在/bin、/sbin目录下的命令
实用程序:存放在/usr/bin、/usr/sbin、/usr/share、/usr/local/bin等目录下的实用程序 用户程序:用户程序经过编译生成可执行文件后,可作为Shell命令运行
Shell脚本:由Shell语言编写的批处理文件,可作为Shell命令运行
输入命令的时候要常用tab键来补全
目录相关操作
用户主目录
Linux是多用户的网络系统!所以可以在Linux下创建多个用户,每个用户都会有自己专属的空间。所以,在创建用户时,系统管理员会给每个用户建立一个主目录,通常在/home/目录下。比如:用户yanjun的主目录为:/home/yanjun
用户对自己主目录的文件拥有所有权,可以在自己的主目录下进行相关操作。注意:不允许文件夹的名称和文件名称冲突
目录基本命令
可用 pwd命令查看用户的当前目录
可用 cd 命令来切换目录
.表示当前目录
cd . 不会切换文件夹
… 表示当前目录的上一级目录(父目录)
cd … 返回上级文件夹
-表示用 cd 命令切换目录前所在的目录
~ 表示用户主目录的绝对路径名
cd ~ 表示进入home文件夹
ls显示文件或目录信息
图像中的显示内容介绍: 第一部分dr-xr-xr-x.
第一个字符用于文件属性,如果-表示该文件是一个普通文件;d表示该文件是一个目录
第1字符后9个字母表示该文件或目录的权限位。r表是读(Read 、w表示写(Write 、x表示执行
eXecute。前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。
mkdir当前目录下创建一个空目录
tree命令的解决方案:
CentOS使用yum -y install tree
rm删除文件或者文件夹
路径的表示方法
绝对路径:以斜线/开头 ,描述到文件位置的完整说明 ,任何时候你想指定文件名的时候都可以使用
例如rm /test/a/b/c.txt
相对路径 :不以斜线/开头 ,指定相对于你的当前工作目录而言的位置 ,可以被用作指定文件名的简捷方式
当前路径[pwd]如果是/test/a/b写法为rm c.txt
当前路径如果是/test/a则写法为rm b/c.txt
文件相关操作
在Linux下文件的类型有: 普通文件-
目录d
符号链接 l
硬链接: 与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块。
软链接: 保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径(简单地理解为 Windows 中常见的快捷方式)
字符设备文件 c
块设备文件b 套接字s
命名管道p
文件基本操作命令
touch:生成一个空文件或更改文件的时间
cp:复制文件或目录
mv:移动文件或目录、文件或目录改名
rm:删除文件或目录ln:建立链接文件
功能是为某一个文件在另外一个位置建立一个同步的链接。
软链接:
- 软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
- 软链接可以 跨文件系统 ,硬链接不可以
- 软链接可以对一个不存在的文件名进行链接
- 软链接可以对目录进行链接
似乎是操作一个新建立的文件夹,但是实际上操作的是链接目标文件夹
ln -s /test/bb1/bbb rrr cd rrr
touch t1.txt但是实际上创建的文件t1.txt位于/test/bb1/bbb文件夹中
硬链接:
- 硬链接,以文件副本的形式存在。但不占用实际空间。
创建硬连接 : ln abc.txt bbb给文件 abc.txt创建了硬连接bbb,操作bbb就会操作abc.txt
如果删除目标文件,则不会影响备份。如果删除abc.txt,而bbb仍旧存在 - 不允许给目录创建硬链接
- 硬链接只有在同一个文件系统中才能创建
locate:速度快,linux系统将所有文件名都记录在/var/ib/mlocate的数据库中,而locate命令就是在其 中查找名字,而数据库每天更新一次,由于数据库不是实时更新因此会出现已删除文件或新增文件查找 不出的情况
find:查找文件
目录名是查询目录下的所有内容
-type d或者f
-name passwd或者*.conf区分大小写,如果需要忽略大小写-iname
find /etc/ -name .conf -exec cp -rp {} /mnt ; ##把/etc/目录下名称中带有.conf的文件递归复制到/mnt下
find /mnt -name ".conf" -exec rm -fr {} ; ##删除/mnt名称中带有.conf的文件file/stat:查看文件类型或文件属性信息
cat:查看文本文件内容
more:可以分页看
less:不仅可以分页,还可以方便地搜索,回翻等操作
tail -10: 查看文件的尾部的10行
head -20:查看文件的头部20行
-f 常用于查阅正在改变的日志文件
echo:把内容重定向到指定的文件中 ,有则打开,无则创建
管道命令 | :将前面的结果给后面的命令,例如:ls -la | wc,将ls的结果加油wc命令来统计字数
重定向
其中>是覆盖模式,>> 是追加模式,例如:echo “Java3y,zhen de hen xihuan ni” > qingshu.txt
把左边的输出放到右边的文件里去
默认标准输入为键盘,默认标准输出为屏幕
例子:
输出重定向
命令>目标文件名:将输出重定向到 file,而不是默认的屏幕输出
一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件:
标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。
标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。
ll 2>bb.txt 1>aa.txt表示的意思是如果命令执行正常,则将执行结果写入到aa.txt中,如果执行出错则写入到bb.txt中
输入重定向:从文件中获取输入
文件的压缩和解压缩
压缩的目的:
减少存储空间或传输大小
归档一些不常用但有收藏价值的文件
tar负责打包,一般gzip负责压缩
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
–remove-files:删除源文件(慎选,一般用于备份日志文件)
-z:–gzip 以gzip方式压缩,扩展名tar.gz
-v:显示所有过程
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名
-C大写 --directory 指定解压位置
tar -cf all.tar *.jpg 将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名
tar -rf all.tar *.gif将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思总结:
TAR命令它支持三种不同的压缩方式。
gzip压缩速度最快;
bzip2压缩生成的文件比gzip小,但使用不如gzip广; xz压缩工具相对较新,但是会提供最佳的压缩率