1.学习各种指令,按照我说的做就可以,不需要将来背。
2.穿插很多的Linux相关的基本概念(系统层面)需要理解+需要记忆的
我们在敲各种指令,究竟是在做什么?第一次接触windows的时候,我们进行的各种日常操作(使用windows),我们接下来敲击的各种指令,起着同样的作用(使用Linux)
ls //显示当前路径下的文件夹
ls -l //将文件的属性尽可能多的显示出来
ls -a -l //-a表示的是显示所有文件,包括隐藏文件
Linux下是有隐藏文件的! windows下有没有隐藏文件呢?有的
Linux下隐藏文件/目录(文件夹)的方式,可以让文件名以.开头
ls -a -l -i //-i表示的是查看文件的inode编号
. //ls-al下的一个点表示当前路径 , 使用.可以限定我们要执行的可执行程序在什么位置
.. //ls-al下的两个点表示直接上级路径,帮助我们进行路径切换
/ // /表示Linux的路径分隔符
ls /home/105/lesson/code/105.txt //表示绝对路径进行查找
ls ../../../105.txt //不以根目录开始,而是以当前路径为参考点,这样的定位文件的方式,叫作相对路径
绝对路径:很少日常操作中使用,一般会出现在比较正式的场合,比如,配置文件中
相对路径:日常操作(比较简单的)
pwd //显示当前我所处的路径
touch //在当前路径下创建一个普通文件
//再次touch同名文件时,表示为更新文件的最近修改时间,更新成为最新的时间
1.touch test.txt
mkdir //在当前路径下创建一个目录/文件夹
1.mkdir dir
mkdir -p d1/d2/d3/4 //创建多级目录
rmdir d1 //默认只能删除空目录
rm -rf 文件、目录 //删除文件或者目录
rm -rf *.c //*是一种通配结构
rm -rf * //-r:递归 -f:强制
cd //进入一个路径
1.cd dir
cd . //进入当前路径
cd .. //进入直接上级路径
cd ~ //进入当前用户的工作目录
cd - //跳转至上一次我所处的路径中
clear //清除当前屏幕
su - //切换超级用户
whoami //查看自己当前的用户
tree d1 //以树状结构展示整个目录
tree . //以当前路径的方式展示整个目录
man 指令 // 在线手册,查看指令的帮助文档
man man //查看man的帮助文档 上下翻直接按上下,退出按q
man 1 printf
man 3 printf
man 2 fork
nano //用记事本方式打开一个文件进行编辑
cp 源文件 目标文件 //将源文件拷贝到目标文件
拷贝普通文件或者目录,如果是目录 -rf
cp hello.c /home/zl/105 //将hello.c的文件以绝对路径的方式拷贝到105中
cp -rf dir ../ //将dir整个目录递归的方式拷贝到上级目录
mv 源文件 目标文件 //从源文件的位置移动到目标文件的位置
a. 转储特定的一个文件或者目录到其他的路径下
b.对一个文件或者目录进行重命名
mv hello.c dir/ //将hello.c的文件移动到dir目录里面
mv hello.c world.cpp //将hello.c的文件重命名为world.cpp
mv dir new/ //将dir的整个目录移动到new目录当中
cat world.cpp //从上到下正序打印world.cpp文件中的内容到屏幕上
tac world.cpp //从下到上反序打印world.cpp文件中的内容到屏幕上
cat //从键盘中读取输入
cat < file.txt //本来应该从键盘读取的内容,变成从文件中读取
echo "hello 105" //叫做打印内容到显示器
echo “hello 107”>file.txt // 1.创建没有的文件 2.本来应该显示到显示器的内容,被写入到了文件中->输出重定向 (>表示输出重定向(从文件开始,覆盖式的写入) >>表示追加重定向(从文件的结尾,追加式的写入))
more //将指令一屏幕打印满,往下翻只能按回车
less //将指令一屏幕打印满,往下翻可以按回车,也可以按上下键
ctrl+c //终止异常的命令
head -3 file.txt //取出文件中内容的头3行
tail -1 file.txt //取出文件中内容的最后一行
提取出一个文件的999行到1009行
1.第一种方法先取出前面的1010行,再从结尾处取最后的11行
head -1010 file.txt >tmp.txt
tail -11 file.txt
2.第二种方法是使用管道的方法
head -1010 file.txt | tail -11
date +%Y/%m/%d-%H:%M:%S //显示当前的时间
date +%s //时间戳,从1970年01/01/00:00.开始到现在的秒数->该数据是单项递增的,具有唯一性的!
date +%Y/%m/%d-%H:%M:%S -d @1657699330 //将时间戳转换为当前的时间点
cal 2022 //显示日历
find ~ -name test.c //查找家目录中名字为test.c的文件
which //在系统路径中,去查找特定的指令所在的路径
whereis test.c //查找系统中与test.c匹配的文件
alias zhangsan='ls-al' //给ls-al这条指令取别名
grep '888' file.txt //行文本过滤工具,找到file.txt中包含888的文本行
grep -i //忽略大小写的不同,所以大小写视为相同
grep -n //顺便输出行号
grep -v //反向选择,亦即显示出没有‘搜寻字符串’内容的那一行
echo "-l -a -i" | xargs ls //将"-l -a -i"指令的命令行参数交给ls (将管道的输出结果,作为命令行参数,交给后面的程序)
如果我在磁盘上新建一个空文件,请问该文件要不要占据磁盘上面的空间呢?当然需要!
文件=内容数据+属性数据
Linux的整个目录结构,本质上是一颗多叉树结构
a.目录(路上节点) b. 文件或者空目录(叶子节点)
我们 一般定位一个文件(普通)的时候,是不是喜欢采用路径的方式,来进行定位!!
普通用户而言:/home/XXX:就叫做XXX这个用户的家目录(工作目录)
对于root用户而言:/root
打包和压缩:
感性的认识:
1.是什么?
打包:将东西放在一起
压缩:采用某种压缩算法,压缩它的存储空间
2. 为什么?
便于传输,或者归档
3.怎么办?
市面上各种后缀的压缩包,是非常多的解压工具非常多,Linux下也是如此
zip/unzip
tar
zip -r proc.zip project //-r:进行递归打包,proc.zip是打包后的文件名字格式,project是原来要打包的文件
unzip proc.zip //将proc.zip文件在当前路径进行解压
unzip name.zip -d 指定的路径 //将name.zip文件在指定路径进行解压
tar -czvf project.tgz project //c:表示创建 z:表示压缩 f:创建一个文件所对应的文件名 v:显示压缩过程 project.tgz表示压缩后的文件名 project表示要压缩的文件
tar -xzvf project.tgz project //默认在当前目录下解压project文件
tar -xzf project.tgz -C /home/zl/105/ //在指定路径下进行解压文件 -C指定路径进行解压或解包
bc //Linux下的计算器
echo "1+2+3+4+5" | bc //计算1+2+3+4+5的结果
uname -r //查看linux下的体系结构
tab //表示热键补齐功能
ctrl-c //让当前程序终止
ctrl-d //快速退出
halt 或shutdown //云服务器关机
history //查看输入的历史命令