一. linux系统知识补充
1. linux命令,关于一些特殊命令参数使用,不会命令怎么查?
2. linux系统属性命令
3. linux系统文件种类,文件权限设定,linux文件/目录起始权限
4. linux系统下"/"根目录存放什么文件?
5. linux环境变量使用,重点掌握: HOME PATH --> 临时修改环境变量,永久修改 --> .bashrc
6. linux中常用功能
7. man手册使用 --> 函数,命令 --> 查询方法
8. 安装man中文手册
二. linux命令
gec@ubuntu:~$ —》命令行提示符
gec —>用户名
@ —>分隔符
ubuntu —>操作系统的名字
: —》分隔符
~ —》代表家目录,这是一个简称,全称是 /home/gec
最前面的/ —>根目录,最原始的目录,其余的/ 表示分隔符
. —》当前目录
… —>上一级目录
$ —》代表当前gec用户是一个普通用户
# —>用来代表超级用户
基本命令:
- pwd --> 打印当前工作路径
- ls --> 查看当前目录下的所有文件/目录名字(不包括隐藏文件)
ls / --> 查看根目录下所有文件/目录名字
ls -a --> 查看当前目录下的所有文件/目录名字(包括隐藏文件) -> .bashrc
ls -l --> 列表查看当前目录下的所有文件/目录的属性(类型,权限,创建者,文件大小,创建日期,文件名) - cd --> 切换工作路径
绝对路径: 从根目录"/“开始一层层目录往下写 “/home/gec”
相对路径: 相对当前路径”."开始一层层目录往下写 “./dir/”
cd几个实用例子:
回到家目录: cd /home/gec 或者 cd ~ 或者 cd
回到上一级目录:cd …
回到刚刚去过的地方: cd - - touch --> 创建文件
touch test.c --> 在当前目录下创建test.c这个文件等价于 touch ./test.c ("./"可以省略) - mkdir --> 创建目录
mkdir dir --> 在当前目录下创建dir这个目录等价于 mkdir ./dir ("./"可以省略) - rm --> 删除文件/目录
删除文件: rm 文件名 例子: rm test.c
删除目录: rm 目录名 -r (-r:递归删除) 例子: rm dir/ -r
在家目录下创建/删除: 不会受到任何权限问题
在非家目录下创建/删除:因为权限不够而导致创建失败
–> 如何解决?
1. sudo 执行命令 --> 临时借用超级用户身份
2. 切换到超级用户,再执行该命令
sudo su --> 从普通用户切换到超级用户
exit --> 从超级用户切换到普通用户 - file --> 查看文件本身的属性 --> 主要查看文件运行结构 --> x86(Intel 80386) / ARM
file 文件名
gec@ubuntu:/mnt/hgfs/GZ1917/01 C语言/09/code$ file lianxi
lianxi: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xe5dbc39f5a5034d99b8da74b77000511fbdbbaf7, not stripped - cat --> 在终端中打印文本的内容 --> 只看前面几行,可以用cat,如果查看内容较多 --> vi & gedit & notepad++
gec@ubuntu:/mnt/hgfs/GZ1917/01 C语言/09/code$ cat lianxi.c
#include <stdio.h>
struct mydata{
char name[20];
int age;
char tel[20];
};
gec@ubuntu:/mnt/hgfs/GZ1917/01 C语言/09/code$ cat lianxi.c -n (-n: 把代码前面的行号也打印出来)
1
2 #include <stdio.h>
3
4 struct mydata{
5 char name[20];
6 int age;
7 char tel[20];
8 }; - cp --> 拷贝文件/目录到另外一个目录
用法: cp 需要拷贝的那个文件/目录的路径 拷贝到哪里去的路径
拷贝文件与拷贝目录是不一样的:
cp 文件名路径 目标路径
cp 目录名路径 目标路径 -r
注意: 文件/目录/目标路径既可以使用绝对路径,也可以使用相对路径 - mv —> 移动文件到另外一个路径下/重命名该文件名
用法: mv 需要移动的文件的路径 目标路径
mv 需要重命名文件的路径 新的文件名
mv究竟是移动还是重命名? 决定?
mv 文件名 目录名 --> mv就是移动
mv 文件名 文件名 --> mv重命名 - tar 压缩/解压
一般地,在linux中,常见压缩包格式: .gz结尾 / .bz2结尾
tar: 解压/压缩的命令
参数:
z: 处理.gz结尾的压缩包
j: 处理.bz2结尾的压缩包
x: 解压 --> 决定tar命令是解压命令
c: 压缩 --> 决定tar命令是压缩命令
v: 以可见的方式进行处理 --> 把处理的过程打印在终端上 -> 该参数不是必须!
f: 不可忽略文件
例子: 4.jpg a.c b.txt 需要进行压缩
- 将所有的文件塞进目录code
- 使用压缩的命令进行打包 压缩成: example.tar.gz --> 压缩包格式: xxxxx.tar.gz / xxxx.tar.bz2
tar zcvf example.tar.gz code/
公式: 压缩命令 对应参数 压缩包名字 需要处理内容
由于有v参数,压缩过程显示在终端上:
code/
code/4.jpg
code/a.c
code/b.txt
- 使用解压命令打开压缩包
tar zxvf example.tar.gz
公式: 解压命令 对应参数 压缩包名字
code/
code/4.jpg
code/a.c
code/b.txt
练习: 处理bz2压缩包
- 指定解压到某个路径 --> 使用参数 -C
tar zxvf example.tar.gz --> 默认将当前目录下的example.tar.gz解压到当前目录下
等价于 tar zxvf example.tar.gz -C .
tar zxvf example.tar.gz -C 某个路径(绝对/相对路径) --> 指定将压缩包解压到某个路径下
- chmod --> 修改文件/目录的权限
- 什么是文件/目录权限?
ls -l查看权限:
-rw-rw-r-- 1 gec gec 66 Feb 25 18:40 project.c
rw-rw-r-- --> 该文件/目录的权限
rw-: 创建者 user(u) --> 创建者可读可写不执行该文件
rw-: 同组的人 group(g) --> 同组的人可读可写不执行该文件
r–: 其他人 other(o) --> 其他人只读该文件
八进制权重
r: read 读权限 4
w: write 写权限 2
x: execute 执行权限 1
- 如何修改权限?
1)单个修改
公式:chmod (谁)(+/-)(r/w/x) 需要修改的文件的路径
谁: u/g/o
+/-: 添加/删除
r/w/x:对应需要改动的权限
例子: project.c --> 给创建者添加执行权限
chmod u+x project.c
2)多个同时修改
例子: 想修改project.c文件 r-x-wxrw-
1)计算修改之后的权重是多少 536
2)使用chmod命令修改权重
公式:chmod 权重 需要修改的文件的路径
3)最终命令:
chmod 536 project.c