linux系统编程
1.命令解析器
shell – unix操作系统
bash – Linux操作系统
本质: 根据命令的名字, 调用对应的可执行程序
2. Linux 快捷键
2.1 命令和路径补齐:
tab
2.2 主键盘快捷键:
- 历史命令切换:
历史命令:
history
向上遍历:ctrl+p或者方向键↑
向下遍历:ctrl+n或者方向键↓
- 光标移动:
向左:
ctrl+b或者方向键→
向右:ctrl+f或者方向键←
移动到头部:ctrl+a
移动到尾部:ctrl+e
- 删除字符:
注意:在linux中光标覆盖的字符指的就是光标后面的字符
删除光标后边的字符:ctrl+d
删除光标前边的字符:ctrl+h或者 删除键backspace
删除光标前的所有内容:ctrl+u
3. Linux 系统目录结构
- 根目录:
- /bin:
- /dev:
- /etc:
- /home:
- /lib:
- /media:
- /mnt:
- /root:
- /usr:
详情见:Linux 系统目录结构
4. 用户目录
- 绝对路径:从根目录开始写 如
/home/ningcaichen - 相对路径: 相对于当前的工作目录而言
.表示 当前目录
..表示 当前的上一级目录
-表示 在两个临近的目录直接切换 cd - ningcaichen@ubuntu:~$
ningcaichen:当前登录用户
@:at,在
ubuntu:主机名
~:s用户的家目录(宿主目录)
$:当前用户为普通用户
#:超级用户(root)
5. 文件和目录操作
5.1 查看目录
1). tree (必须安装该软件)
2). ls -la

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中。如下图:
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

这里hello.c最好用绝对路径
同理,给目录创建软链接:ln -s ~/Desktop desktop.soft
5.12 硬链接
ln hello.c hello.hard
注意:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2. 不允许给目录创建硬链接。
3. 硬链接只有在同一个文件系统中才能创建。
4. 删除其中一个硬链接文件并不影响其他有相同 inode 号的文件。不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间
6. 文件和目录的属性
6.1 wc:查看文本文件信息
wc hello.c
输出文本文件的行数,单词数,字节数,文件名

参数
-c: 只显示字节数
-l: 只显示行数
-w:只显示字数
6.2 od:查看二进制文件信息
-t 指定数据的显示格式 参数
- c --> ASCII字符
- d --> 有符号十进制数
- f --> 浮点数
- o --> 八进制数
- u --> 无符号十进制数
- x --> 十六进制数
6.4 du:查看某个目录的大小
du --> disk use
一般用 du -h

6.5 df: 查看磁盘的使用情况
df --> disk free
一般用 df -h

7. 文件权限, 用户, 用户组
7.1 文字设定法
chmod [who] [+|-|=] [mode]
who:
- 文件所有者: u
- 文件所属组: g
- 其他人: o
- 所有的人: a
+: 添加权限:
-: 减少权限
=: 覆盖原来的权限
mode:
r: 读
w: 写
x: 执行
添加权限示例:

覆盖权限示例:

7.2 数字设定法
-: 没有权限
r: 4
w: 2
x: 1
765 的含义:
7 – rwx – 文件所有者
6 – rw – 文件所属组
5 – rx – 其他人
7.3 改变文件或目录的所有者或所属组:
chown
chgrp
7.4 改变文件或目录所属的组:
- 按文件属性查找:
1). 文件名:find + 查找的目录 + -name + "文件的名字"
2). 文件大小:find + 查找目录 + -size + +10k
3). 文件类型:find + 查找目录 + -type + d/f/b/c/s/p/l - 按文件内容查找:
grep -r "查找的内容" + 查找的路径
本文详细介绍Linux系统的命令解析、快捷键使用、目录结构、文件操作、权限管理等核心内容,适合初学者快速掌握Linux编程基础。

1700





