【linux篇】系统世界跳跃的音符:指令
目录
文件:
学习指令前,补充小知识:
linux的所有的文件的系统结构是一个多叉树结构:
路径:
家目录:
tree+指定目录:
指令就是程序:
ls指令:
语法:
功能:
touch指令:
功能:
创建一个新文件
file指令:
mkdir指令:
mkdir 创建新目录
rmdir指令&&rm指令:
rmdir 删除目录,与mkdir指令相对
rm 可同时删除文件夹或目录
pwd指令:
cd指令:
man指令:
inux下,一切皆文件
echo指令:
cp指令:
head指令:
tail指令:
head与tail的管道文件操作:
<输入重定向:
时间相关的指令:
.zip/unzip指令:
是什么:
为什么:
怎么办:
tar:
Linux与Linux互传:
重要热键:
文件:
-
普通文件- >以“-”开头
-
目录(文件夹)- >以"d"开头
当你创建一个空文件的时候,这个空文件也是占据空间的,虽然这个文件的文件内容是空的,但是它还有文件大小,文件名,文件创建时间等等一系列属性,这些数据会被计算机保存下来
所以:文件=文件内容+文件属性
- >所以对文件的操作就分为两种:
对文件内容的操作
对文件属性的操作
学习指令前,补充小知识:
linux的所有的文件的系统结构是一个多叉树结构:
linux的非叶子节点一定是目录
叶子节点一定是空目录或者文件
路径:
绝对路径(具有唯一性)
相对路径- >配置文件、系统级配置文件,可以采用
在linux系统中,任何一个目录都存在"."和".."
家目录:
保存用户私有信息的目录
在Linux操作系统中,家目录(Home Directory) 是指每个用户登录系统后默认的工作目录。它是用户个人文件和配置文件的存储位置
tree+指定目录:
以树形结构展示文件和目录结构
若刷屏了,ctrl+c可终止
安装tree指令:yum install -y tree
指令就是程序:
linux中,选项是可以组合传入的:ls -l -a/ls -la绝对路径
如"ls -l",ls为指令,-l为选项。指令可以单独拿出来使用,也可以携带一些选项让他来执行
ls指令:
语法:
ls [选项][目录或文件]
功能:
功能:对于目录,该命令列出该目录下的所有子目录与普通文件。对于文件,将列出文件名以及其他信息。
- ls单个指令显示的是文件的文件名
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出当前目录下/指定目录下,文件属性详细信息。
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别) -r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。
touch指令:
功能:
创建一个新文件
以“-”开头的文件类型,叫做普通文件
普通文件:文本文件,二进制文件,动静态库,视频,音频,图片
在linux中,文件类型与文件后缀无关但不代表gcc对文件后缀不做要求
系统≠gcc,gcc可以理解为是linux上的软件
file指令:
功能说明:辨识文件类型。
语法:file [选项] 文件或目录..
mkdir指令:
mkdir 创建新目录
-p 可以跟一段路径,若路径中的某些目录不存在,系统会自动建立好那些尚不存在的目录
rmdir指令&&rm指令:
rmdir 删除目录,与mkdir指令相对
功能:删除空目录 - >删除不了非空目录
rm 可同时删除文件夹或目录
功能:删除目录或文件 - >可删除非空目录
-r:删除目录及其下所有文件
-f:即使文件属性为只读(即写保护),也直接删除
-i:删除前逐一询问确认
pwd指令:
语法: pwd
功能:显示用户当前所在的目录
cd指令:
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
cd ..:返回上级目录
当退回到根目录时,就不能再回退了,此时Linux服务器上会显示一个"/"
cd -:返回最近访问的目录
cd ~:进入家目录
man指令:
可以通过查看联机手册获取帮助。访问Linux手册页的命令是 man
一般云服务器的linux下man手册是残缺的,可以通过yum install -y -man-pages来下载补全
语法:man [选项]命令
inux下,一切皆文件
打印到显示器- >写入到显示器文件
从键盘读取数据- >从键盘文件读取数据
echo指令:
功能:将数据写入到文件
echo "hello" - >将数据写入到屏幕文件
echo "hello" > log.txt - >将数据写入到log.txt文件,若没有这个文件,则会创建一个后,并写入数据
cp指令:
功能:拷贝数据
语法:cp src dest
head指令:
head -n - >查看从头开始的到第n行的数据
tail指令:
tail -n - >查看从尾部开始到第n行的数据
head与tail的管道文件操作:
创建一个10000行数据的log.txt文件
cnt=0; while [ cnt -le 1000 ]; do echo “hello cnt”; let cnt++; done > log.txt
读取这个文件的500~510行数据
指令为:head -510 log.txt | tail -10
>输出重定向 :先清空再写入
>>追加重定向:追加字符
<输入重定向:
「cat」『文件名』
会将文件中的内容写入显示器文件中
只输入一个“cat”,则命令行会卡住,这种情况叫“阻塞”
cat默认是从键盘文件读取数据,将读到的内容写入到显示器文件。当只输入一个“cat”指令时,就是从键盘文件读取数据,我们输入什么他就打印什么
「cat」 『文件名』
与「cat」「<」 『文件名』
都能打印文件内容
时间相关的指令:
date显示 date 指定格式显示时间: date +%Y:%m:%d date
用法:date [OPTION]… [+FORMAT]
.zip/unzip指令:
是什么:
通过特定算法对文件进行合并或者压缩,减少体积
为什么:
为了减少文件体积,节省资源(压缩意义)
多文件转一个文件,提高文件传输的容错性
怎么办:
zip+ 压缩后的文件名.zip +要压缩的文件
-r:递归处理,将指定目录下的所有文件和子目录一并处理
zip -r +压缩后的文件名.zip +要压缩的文件
解压到tmp目录:unzip test2.zip -d /tmp
若想Linux与windows互传,linux下要安装lszrz yum install -y lszrz
tar:
tar -czf 打包压缩后的文件名.tgz +要打包压缩的文件 - >打包压缩操作 (tar.gz)
tar -xzf 要解压的压缩文件 - >解压操作
如果想看打包压缩和解包解压的过程,只需将指令改成-cvzf和 -xvzf
若想解包解压到指定路径:tar -xzf 要解压的压缩文件 -C 路径
Linux与Linux互传:
Linux 与 Linux 互传所需的命令是:scp
- 语法:「scp」 dst.tgz 用户名@公网IP:目标机器指定的路径
重要热键:
table
ctrl+c停止异常操作
ctrl+r,搜索历史命令
上下键,翻阅历史命令 - >linux会把历史命令记录下来