linux系统编程总结(一)

linux系统编程

    • 1.命令解析器
    • 2. Linux 快捷键
      • 2.1 命令和路径补齐:
      • 2.2 主键盘快捷键:
    • 3. Linux 系统目录结构
    • 4. 用户目录
    • 5. 文件和目录操作
      • 5.1 查看目录
      • 5.2 在目录a和目录b之间徘徊:
      • 5.3 创建目录
      • 5.4 删除
      • 5.5 创建文件
      • 5.6 删除文件
      • 5.7 复制
      • 5.8 查看文件中内容(5种方式):
      • 5.10. 创建快捷方式(软链接):
      • 5.12 硬链接
    • 6. 文件和目录的属性
      • 6.1 wc:查看文本文件信息
      • 6.2 od:查看二进制文件信息
      • 6.4 du:查看某个目录的大小
      • 6.5 df: 查看磁盘的使用情况
    • 7. 文件权限, 用户, 用户组
      • 7.1 文字设定法
      • 7.2 数字设定法
      • 7.3 改变文件或目录的所有者或所属组:
      • 7.4 改变文件或目录所属的组:
    • 8. 文件的查找和检索
    • 9. 软件的安装和卸载
    • 10. U盘的挂载和卸载

1.命令解析器

shell – unix操作系统
bash – Linux操作系统
本质: 根据命令的名字, 调用对应的可执行程序

2. Linux 快捷键

2.1 命令和路径补齐:

tab

2.2 主键盘快捷键:

  1. 历史命令切换:

历史命令:history
向上遍历:ctrl+p或者方向键↑
向下遍历:ctrl+n或者方向键↓

  1. 光标移动:

向左:ctrl+b或者方向键→
向右:ctrl+f或者方向键←
移动到头部:ctrl+a
移动到尾部:ctrl+e

  1. 删除字符:

注意:在linux中光标覆盖的字符指的就是光标后面的字符
删除光标后边的字符:ctrl+d
删除光标前边的字符:ctrl+h 或者 删除键backspace
删除光标前的所有内容:ctrl+u

3. Linux 系统目录结构

  1. 根目录:
  2. /bin:
  3. /dev:
  4. /etc:
  5. /home:
  6. /lib:
  7. /media:
  8. /mnt:
  9. /root:
  10. /usr:

详情见:Linux 系统目录结构

4. 用户目录

  1. 绝对路径:从根目录开始写 如 /home/ningcaichen
  2. 相对路径: 相对于当前的工作目录而言
    .    表示 当前目录
    ..  表示 当前的上一级目录
    -    表示 在两个临近的目录直接切换 cd -
  3. ningcaichen@ubuntu:~$
    ningcaichen:当前登录用户
    @:at,在
    ubuntu:主机名
    ~:s用户的家目录(宿主目录)
    $ :当前用户为普通用户
    #:超级用户(root)

5. 文件和目录操作

5.1 查看目录

1). tree  (必须安装该软件)
2). ls -la

linux系统编程总结(一)_第1张图片

5.2 在目录a和目录b之间徘徊:

cd a
cd b

三种回家方式:
cd /home/ningcaichen
cd ~
cd

查看当前在哪个目录:
pwd

5.3 创建目录

mkdir dirName
mkdir dir/dir1/dir2 -p

5.4 删除

删除空目录:rmdir dirName(用的不是很多)
删除整个目录:rm dir -r(r表示递归的删除),如果想看递归的过程用 rm -ri dir

5.5 创建文件

touch 文件名

如果文件不存在就创建文件,如果文件存在就修改文件的时间

5.6 删除文件

rm 文件名 (加参数 -i 可以看到提示过程)

5.7 复制

复制文件cp hello.c temp
hello.c文件拷贝为temp文件,如果temp文件不存在,则创建temp文件;如果temp文件存在,则会覆盖temp文件。

复制目录cp dir newDir -r
dir整个目录拷贝到 newDir。如果newDir不存在,则创建newDir目录;如果newDir存在,则将dir复制到newDir中。如下图:
linux系统编程总结(一)_第2张图片

5.8 查看文件中内容(5种方式):

cat

cat file.txt -> 将文件内容一次性输出到终端。 如果文件太长,无法再终端全部显示。

more

more + 文件名 文件内容分页显示到终端,但是只能一直向下浏览,不能回退 空格:显示下一页 ctrl+c 或 q:退出

less

less + 文件名
文件内容分页显示到终端,可以自由上下浏览
回车:显示下一行
空格:显示下一页
ctrl+p 或 ↑:滚动到上一行
ctrl+n 或 ↓:滚动到下一行
q:退出浏览

head

从文件头部开始查看前 x 行的内容
head -5 hello.c --> 查看hello.c文件前五行的内容
如果没有指定行数,默认显示前10行内容

tail

从文件尾部开始查看后 x 行的内容
tail -5 hello.c --> 查看hello.c文件后五行的内容
如果没有指定行数,默认显示后10行内容

5.10. 创建快捷方式(软链接):

ln -s hello.c hello.soft
hello.c文件创建软链接接,访问hello.soft就是访问hello.c
linux系统编程总结(一)_第3张图片
这里hello.c最好用绝对路径

同理,给目录创建软链接:ln -s ~/Desktop desktop.soft

5.12 硬链接

ln hello.c hello.hardlinux系统编程总结(一)_第4张图片

注意:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2. 不允许给目录创建硬链接。
3. 硬链接只有在同一个文件系统中才能创建。
4. 删除其中一个硬链接文件并不影响其他有相同 inode 号的文件。

不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间

6. 文件和目录的属性

6.1 wc:查看文本文件信息

wc hello.c
输出文本文件的行数单词数字节数文件名
linux系统编程总结(一)_第5张图片

参数
-c: 只显示字节数
-l: 只显示行数
-w:只显示字数

6.2 od:查看二进制文件信息

-t 指定数据的显示格式 参数

  1. c --> ASCII字符
  2. d --> 有符号十进制数
  3. f --> 浮点数
  4. o --> 八进制数
  5. u --> 无符号十进制数
  6. x --> 十六进制数

6.4 du:查看某个目录的大小

du --> disk use
一般用 du -h

linux系统编程总结(一)_第6张图片

6.5 df: 查看磁盘的使用情况

df --> disk free
一般用 df -h

linux系统编程总结(一)_第7张图片

7. 文件权限, 用户, 用户组

7.1 文字设定法

chmod [who] [+|-|=] [mode]

who:

  1. 文件所有者: u
  2. 文件所属组: g
  3. 其他人: o
  4. 所有的人: a

+: 添加权限:
-: 减少权限
=: 覆盖原来的权限

mode:
r: 读
w: 写
x: 执行

添加权限示例:
linux系统编程总结(一)_第8张图片
覆盖权限示例:
linux系统编程总结(一)_第9张图片

7.2 数字设定法

-: 没有权限
r: 4
w: 2
x: 1

765 的含义:
7 – rwx – 文件所有者
6 – rw – 文件所属组
5 – rx – 其他人

7.3 改变文件或目录的所有者或所属组:

chown
chgrp

7.4 改变文件或目录所属的组:

  1. 按文件属性查找:
    1). 文件名:find + 查找的目录 + -name + "文件的名字"
    2). 文件大小:find + 查找目录 + -size + +10k
    3). 文件类型: find + 查找目录 + -type + d/f/b/c/s/p/l
  2. 按文件内容查找:
    grep -r "查找的内容" + 查找的路径

8. 文件的查找和检索

9. 软件的安装和卸载

10. U盘的挂载和卸载

你可能感兴趣的:(linux系统编程)