black horse 2017 c++ day 01

01 Linux介绍

  • POSIX标准:统一Unix、Linux等。。。接口
  • 类Unix
  • Linux内核版本 & 发行版本
  • GNU: GNU is Not Unix

02 目录结构介绍

FHS标准:

  • /:根目录
  • /bin:工具
  • /home:用户家目录
  • /lib /usr/lib /usr/local/lib:库函数
  • /usr/include: 头文件

03 文件权限说明

文件分类

  • 普通文件 -
  • 目录文件 d => directory
  • 设备文件 b => block c => char??? /dev
  • 链接文件 l
  • 管道文件

文件权限

  • /etc/group:用户组id
  • /ect/passwd:用户id&组id

04 命令使用方式和技巧

查看帮助文档

  • –help
  • man
  • printf
  • man printf == man 1 printf
  • man 3 printf
  • history

05 常用命令:ls

  • ls -alh
  • ls *.c
  • ls ?.png
  • ls [a-f].c
  • touch *.c 更改所有.c文件的时间为当前
  • touch *.c

06 常用命令:重定向、more、管道

重定向

  • ls > test.txt
  • ls >> test.txt

more分屏显示

  • cat /usr/include/stdio.h
  • more /usr/include.h => q退出

管道

  • 一个命令的输出作为另一个命令的输入
  • cat stdio.h | more
  • ls | grep std

07 常用命令:clear、cd、pwd

clear or ctrl + l

cd

  • cd:切换到/home/username
  • cd ~:切换到/home/username
  • cd -:切换到上一个进入的目录
  • cd …:切换到上一级目录

08 课堂答疑:管道、目录

09 上午知识点回顾

  • cd ~/share/cmd => /home/Yolanda/share/cmd

10 常用命令:mkdir、rmdir、rm

  • mkdir -p 递归创建目录
  • rmdir 只能删除空文件夹
  • rm 删除文件
  • rm -r 删除文件夹
  • rm -f 忽略提示
  • rm -i 交互式删除,二次确认

11 ln

  • 建立链接文件
  • 链接文件分为软链接硬链接
  • 软链接相当于Windows的快捷方式

硬链接:ln 源文件 链接文件

  • ln 1.txt abc.txt
  • 特点:两个文件,改其中一个,同步更改另一个文件,均独立占内存,删除其中一个文件,不会影响另一个文件
  • 硬链接只能链接普通文件,不能链接目录

软链接:ln -s 源文件 链接文件

  • ln -s 1.txt abc.txt
  • ls -l第一个字符为l,表示为软链接,-s表示soft
  • 特点:软链接文件大小固定,不随源文件大小变化,软链接依赖源文件存在
  • 删除源文件,软链接文件打开为空
  • 普通文件&目录都可以创建软链接

12 grep

  • cat 1.txt 查看文件内容
  • cat 1.txt 2.txt 可显示多个文件内容
  • cat 1.txt 2.txt > abd.txt 将两个文件写入另一个文件

grep 搜索

  • grep Yolanda test.txt 在文件中查找字符串
  • grep Yolanda test.txt -n 查找结果显示行号
  • grep a test.txt -i 忽略大小写
  • grep a test.txt -v 反选,显示不包含a的行
  • grep “1 2 3” 查找关键字若包含空格,需使用单引号/双引号,否则只接受一个关键字

grep搜索内容可以是正则表达式

  • grep ^a test.txt -n: 查找以a开头的行
  • grep ke$ test.txt: 查找以ke结尾的行
  • grep [0-9]abc[0-9] test.txt
  • grep .abc. test.txt

13 find、cp、mv、file

find

find 路径 -name 关键字:按文件名递归查找

  • 支持通配符
  • 支持正则表达式

find 查找路径 -size +/-大小:按文件大小查找

  • find /tmp -size 2M 等于2M
  • find /tmp -size +12k -size -5M:查找大于12k小于5M的文件

find 路径 -perm 0xxx:按权限查找

  • find ./ -perm 0777

cp

  • cp a.c c.c 拷贝文件
  • cp -r abc/ cba 拷贝文件夹
  • -v显示进度
  • -f不提示
  • -i交互式

mv

  • -v -i -f 同上

可用于重命名

  • mv a.c c.c
  • mv a.c /tmp/c.c

file 获取文件类型

  • file hello => executable / ASCII test / empty

14 tar、gzip

tar打包/解包不压缩

打包

  • tar -参数 打包文件名 需要打包的文件(支持通配符)
  • -c: creat 创建压缩包
  • -v: 显示进度
  • -f: file
  • cv顺序无关,f必须在最后
  • tar -cvf aaa.tar a.c b.c c.txt hello.py
  • tar -cvf aaa.tar *

解包

  • tar -参数 解包文件名 解包路径(默认当前路径)
  • tar -xvf aaa.tar 解包到当前路径
  • tar -xvf test.tar -C …/cmd 解包到指定路径

gzip 压缩/解压

  • gzip [-r] test.tar => test.tar.gz
  • gzip -d aaa.tar.gz => aaa.tar

打包压缩/解压解包

  • tar -czvf xxx.tar.gz 所需文件(czv顺序无关)
  • tar -xzvf test.tar.gz

15 tar、bzip2

bzip2 压缩/解压

  • bzip2 [-z] test.tar => test.tar.bz2
  • bzip2 -d test.tar.bz2 => test.tar

打包压缩/解压解包

  • tar -cjvf test.tar.bz2 所需文件
  • tar -xjvf test.tar.bz2

16 zip、unzip

  • zip -r 目标文件(不含扩展名) 源文件
  • zip -r myzip .
  • unzip [-d 解压路径] myzip.zip

17 which

  • 查看命令位置
  • which ls
  • which sudo
  • which gcc
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章