文章目录
基本指令
- win图形界面,操作系统刚开始都是黑屏终端+指令操作
- Linux也有图形界面,desktop操作系统,终端+指令操作
- Linux中使用Xshell,Alt + Enter全屏和退出全屏
指令
pwd
- pwd:显示一个用户当前所处的目录(路径)

whoami
2.whoami:显示自己是哪个用户

cd
- cd:进入目录,可以进行路径切换
目录 == 文件夹

- cd ~:进入到当前用户自己的家目录下
- cd 指定目录:进入到指定目录下
- 任何一个Linux用户,用特定的用户名登录时都在家目录下

root用户和普通用户
- cd / :直接到根目录

- cd - :跳转最近所处的路径

mkdir(重要)
- mkdir:快速创建目录,蓝色的为目录

- -p:可以创建一连串的目录,即使这个目录不存在

tree
- tree :可以以树形结构查看目录

- 2.如果使用tree命令报错了
centos系统
使用 yum install -y tree 安装tree命令
ubuntu系统
apt install -y tree
ls
- ls:查看文件名
ls -l:查看文件属性,显示文件更详细的属性
ll:可以查看隐藏文件
隐藏文件:以点(.)为开头的
ls -l
ls:命令
空格
-l:命令行选项,可以是0个或者是多个,多个选项用空格隔开
- 如果建立一个空文件要占据磁盘空间吗?
要的,文件名,修改时间,类型和文件大小都会占空间
即使大小是0KB
文件 = 内容 + 属性
学习文件:要么对内容修改,要么对属性修改
可以查看/home文件下的所有内容
-d:只查看目录本身的属性
ls -l :默认查看自己的目录
ls -l 指定目录:指定目录里面的内容
ls -l 指定目录 -d:只查看目录本身的属性

查看Linux当中的根目录,/就代表查看当前目录

- 如何区分是否是文件?
以d开头的是目录
以-开头的是普通文件
touch
- touch:可以新建一个普通文件
更新文件的时间

ls -a -l
- ls -a -l
ls -l -a
ls -la
ls -al
4中写法作用是一样的,都可以显示隐藏信息
-a:显示隐藏文件以 . 为开头的是隐藏文件
隐藏目录
-l
- 显示所有信息
ll 也可以显示详细信息

stat
stat:显示文件的详细内容
Access:文件 最后一次被访问 的时间
Modify:文件内容 最后一次被修改 的时间
Change:文件元数据 最后一次被更改的时间

ll 和ls -l的区别
- alias:给命令取别名
alias ll = ls -l --color=auto- 取别名是临时的,退出Xshell,再重进就不起作用了

nano 记事本
- nano code.c 进入文件
- 写完代码,ctrl + x退出,yes + enter保存 退出
- cat code.c 打印刚刚写的代码
- 如果在命令行中出现了异常,统一用ctrl + c来终止异常
rmdir和rm删除
1. rmdir:只能删除空目录
2. rm(remove):只能删普通文件
n不删除
y删除
rm -f:强制删除文件
rm -r:删除目录 ,r是递归的首字母
rm -rf:递归并强制删除指定的目录

*:通配符,关联符
在根目录下rm -rf *会删除根目录下所有文件和rm -rf /也会删除根目录及其所有文件
隐藏文件需要显示删除,不能用*来匹配删除
man(重要)
- man是一个在线的手册,可以查找指令的作用
- ctrl + z 或者 q 退出手册
- man pwd:查找的就是pwd的手册页
- man 1 pwd:查找的是第一节的手册页
- printf也是命令
- 安装man手册:yum install -y man-pages

最主要的是1,2,3
1.可执行程序
2.系统调用
- 库调用
cp(重要)
拷贝文件
- 安装记事本:yum install -y nano
- cp hello.txt world.txt:将hello.txt文件中的内容拷贝到world.txt中

不做文件指定,会把本身这个文件拷贝到上级目录下
拷贝目录
- 必须递归(-r)拷贝目录

拷贝二次同一个文件,如果src如果是一个目录的话,会把文件拷贝到目录的内部


cp -rf:强制拷贝,不会询问你
知识点
路径分隔符
知识点:
win:\为路径分隔符
Linux:/为路径分隔符
两个斜杆之间的为目录,最后一个可能为文件或者目录
隐藏文件
1 .为当前目录
. . 为上级目录
2. cd . 回到当前目录
cd . . 回到上级目录

/ 根目录
多叉树
- Linux的文件结构,是一颗从根目录/ 开始的一颗多叉树 (因为目录里面可以存文件和目录)
叶子节点:一定是普通文件或者是空目录
非叶子节点:一定是一个非空目录

绝对路径和相对路径
- 绝对路径:以根目录为起点找到对应的文件,比如 /home/bit/test.c
- 相对路径:一非/为参照位置定位一个文件,比如下图本来要回退到113目录下找到server.cc,现在不用回退,直接用 . ./server.cc,在上级目录下可以找到server.cc
相对路径:日常操作用的多,简单
绝对路径:在配置文件中使用,用相对路径配置,万一那个文件不存在呢
任何一个目录,即便是空目录,系统也给该目录生成了. 和 . .
原因:多叉树中一个指针指向它自己,还一个指针指向前一个节点,根目录中那两个指针都指向自己,所以cd. .找不到上级目录
命令其实就是文件
- -r:开头的为文件
- which:查看命令所在的位置
- 命令的本质 == 可执行程序 == 我们写的C/C++程序
命令就是文件,以-r开头
命令就是文件
./使用可执行程序
在usr/bin/目录下可以不带路径(./)就执行文件
1.上下键可以查找历史命令

退出vim
shift + z + z
shift + : + q + 回车
退出nano
保存的情况下:ctrl + x + y + 回车
没有修改内容的情况下:ctrl + x