一. 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用户是一个普通用户
# —>用来代表超级用户

基本命令:

  1. pwd --> 打印当前工作路径
  2. ls --> 查看当前目录下的所有文件/目录名字(不包括隐藏文件)
    ls / --> 查看根目录下所有文件/目录名字
    ls -a --> 查看当前目录下的所有文件/目录名字(包括隐藏文件) -> .bashrc
    ls -l --> 列表查看当前目录下的所有文件/目录的属性(类型,权限,创建者,文件大小,创建日期,文件名)
  3. cd --> 切换工作路径
    绝对路径: 从根目录"/“开始一层层目录往下写 “/home/gec”
    相对路径: 相对当前路径”."开始一层层目录往下写 “./dir/”
    cd几个实用例子:
    回到家目录: cd /home/gec 或者 cd ~ 或者 cd
    回到上一级目录:cd …
    回到刚刚去过的地方: cd -
  4. touch --> 创建文件
    touch test.c --> 在当前目录下创建test.c这个文件等价于 touch ./test.c ("./"可以省略)
  5. mkdir --> 创建目录
    mkdir dir --> 在当前目录下创建dir这个目录等价于 mkdir ./dir ("./"可以省略)
  6. rm --> 删除文件/目录
    删除文件: rm 文件名 例子: rm test.c
    删除目录: rm 目录名 -r (-r:递归删除) 例子: rm dir/ -r
    在家目录下创建/删除: 不会受到任何权限问题
    在非家目录下创建/删除:因为权限不够而导致创建失败
    –> 如何解决?
    1. sudo 执行命令 --> 临时借用超级用户身份
    2. 切换到超级用户,再执行该命令
    sudo su --> 从普通用户切换到超级用户
    exit --> 从超级用户切换到普通用户
  7. 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
  8. 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 };
  9. cp --> 拷贝文件/目录到另外一个目录
    用法: cp 需要拷贝的那个文件/目录的路径 拷贝到哪里去的路径
    拷贝文件与拷贝目录是不一样的:
    cp 文件名路径 目标路径
    cp 目录名路径 目标路径 -r
    注意: 文件/目录/目标路径既可以使用绝对路径,也可以使用相对路径
  10. mv —> 移动文件到另外一个路径下/重命名该文件名
    用法: mv 需要移动的文件的路径 目标路径
    mv 需要重命名文件的路径 新的文件名
    mv究竟是移动还是重命名? 决定?
    mv 文件名 目录名 --> mv就是移动
    mv 文件名 文件名 --> mv重命名
  11. tar 压缩/解压
    一般地,在linux中,常见压缩包格式: .gz结尾 / .bz2结尾
    tar: 解压/压缩的命令
    参数:
    z: 处理.gz结尾的压缩包
    j: 处理.bz2结尾的压缩包
    x: 解压 --> 决定tar命令是解压命令
    c: 压缩 --> 决定tar命令是压缩命令
    v: 以可见的方式进行处理 --> 把处理的过程打印在终端上 -> 该参数不是必须!
    f: 不可忽略文件

例子: 4.jpg a.c b.txt 需要进行压缩

  1. 将所有的文件塞进目录code
  2. 使用压缩的命令进行打包 压缩成: 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

  1. 使用解压命令打开压缩包
    tar zxvf example.tar.gz
    公式: 解压命令 对应参数 压缩包名字

code/
code/4.jpg
code/a.c
code/b.txt

练习: 处理bz2压缩包
  1. 指定解压到某个路径 --> 使用参数 -C
    tar zxvf example.tar.gz --> 默认将当前目录下的example.tar.gz解压到当前目录下
    等价于 tar zxvf example.tar.gz -C .
    tar zxvf example.tar.gz -C 某个路径(绝对/相对路径) --> 指定将压缩包解压到某个路径下
  1. chmod --> 修改文件/目录的权限
  1. 什么是文件/目录权限?

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. 如何修改权限?
    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