C语言基础 Day13 Linux&Unix基础

C语言基础 Day13 Linux&Unix基础

操作系统在计算机中承上启下,向下封装硬件,向上提供操作接口。

1969年Thompson和Ritchie开发了一个多任务操作系统–UNICS,后改名为Unix。1971年两人在贝尔诞生了C语言。1990年Linus Torvalds决定编写一个自己的Minix内核,初名为Linus’ Minix,意为Linus的Minix内核,后改名为Linux。

Linux有很多优秀的特点:

  • 开放性;
  • 完全免费;
  • 多用户;
  • 多任务;
  • 良好的用户界面;
  • 设备独立性;
  • 提供了丰富的网络功能;
  • 可靠的系统安全性;
  • 良好的可移植性;

Linux内核源码的网址为: http://www.kernel.org

Linux的文件系统是从根目录开始的。路径主要分为相对路径和绝对路径。

  • 绝对路径
    • 绝对路径是从根目录“/”开始往下直达文件所经过的所有节点目录。
    • 下级目录接在上级目录后面用“/”隔开。
  • 相对路径
    • 相对路径是指目标目录相对于当前目录的位置。
    • 如果不在当前目录下,则需要使用两个特殊目录“.”和“..”。其中“.”指向当前目录,而目录“..”指向上一级目录。

Linux中有很多目录,其中有一些目录极为重要。

  • /bin:/usr/bin:可执行二进制文件的目录。
  • /dev:存放Linux系统下的设备文件。
  • /home:系统默认的家目录。
  • /lib:/usr/lib:/usr/local/lib:系统使用的函数库目录。
  • /root:系统管理员root的家目录。
  • /tmp:一般用户或正在执行的程序临时存放文件的目录。
  • /usr:应用程序的存放目录。

在Linux系统中,常用的文件类型有7类,分别是普通文件(-)、目录文件(d)、套接字文件(s)、字符设备(c)、块设备(b)、管道文件(p)、链接文件(l)。

在这里插入图片描述
在这个图中每个文件的信息中,我们可以划分为文件类型+文件访问权限、硬链接计数、文件所有者、文件所属组、文件所占用空间的大小、文件创建或者是最后修改时间、文件名。在文件类型和文件访问权限中,一共有十个字符,第一个字符表示文件类型,后面三三为一组,分别表示文件所有者读写执行权限、文件所属组的读写执行权限、其它人的读写执行权限。

在说Linux命令之前,先看一下如何查看帮助文档。有两个方法,第一个方法是使用命令 --help,但是不是每一个命令都有这个选项。第二个方法是使用man 命令,man里面分为了九卷,如下:

卷名内容
1可执行程序或shell命令
2系统调用
3库调用
4特殊文件
5文件格式和规范
6游戏
7杂项(包括宏包和规范)
8系统管理命令
9内核例程

如我们查询可执行程序或shell命令中的printf用法,可以使用 man 1 printf;如果我们查询库调用的printf,可使用man 3 printf即可。若不指定的话,查询是按照卷的顺序进行搜索的,就会显示第一次出现的卷的用法。

接下来说一下Linux中的常见命令:

历史命令:history,将执行过的命令列举出来。

查看文件信息:ls,列出目录的内容,常用的参数如下:

参数含义
-a显示指定目录下的所有子目录与文件,包括隐藏文件
-l以列表的方式显示文件的详细信息
-h配合-l以人性化的方式显示文件大小
-d查看目录本身

常用的通配符:有时候我们不指定文件的具体名字,需要使用特殊字符去进行模糊的匹配,这些字符就是通配符,他们可以同时引用多个文件名。

通配符含义
*代表文件名的所有字符
?代表文件名中任意一个字符

输出重定向命令>>>,将Linux命令执行的结果重定向到一个文件,本应该显示在终端的内容保存到指定文件中。其中>会覆盖掉原来的内容,而>>则会追加到文件的尾部。

清理屏幕:clear,清楚终端上显示的内容。

切换工作目录:cd,切换工作的路径,Linux的工作目录和文件名对大小写敏感,常见的用法如下:

命令含义
cd切换到当前用户的主目录
cd ~切换到当前用户的主目录
cd .切换到当前目录
cd ..切换到上级目录
cd -切换到上一个进入的目录

显示当前路径:pwd,显示当前的工作目录。

创建目录:mkdir,创建一个新的目录,如果要创建多层目录可以使用-p选项进行地柜创建目录。

删除目录:rmdir,删除一个目录,删除的时候必须离开目录,且目录必须是空目录,否则会删除失败。

删除文件:rm,删除文件和目录,rm的参数如下。

参数含义
-f强行删除
-r递归地删除目录下的内容,删除文件夹时必须加此参数

查看或者合并文件内容:cat,使用cat可以查看一个文件的内容,如果想要合并两个文件的内容,则可以结合输出重定向。

拷贝文件:cp,将指定文件或目录复制到另一个文件或目录中。可选参数如下。

参数含义
-a该选项通常在复制目录时使用,它保留链接、文件属性,并递归地赋值目录,保持文件原有属性
-r若给出来的是目录文件,则递归地赋值该目录下的所有子目录和文件。目标文件必须为一个目录名

移动文件:mv,移动文件或者更改文件的文件名。常见的参数如下。

获取文件类型:file,可以使用file确定文件的具体类型。

归档管理:tar,可以使用这个命令进行归档管理,但是这个命令不具有压缩的功能,所以会与gzip和bzip2的命令结合使用。下面分别给出这两个的压缩命令和解压缩的命令。

# gzip的压缩命令
tar zcvf xxxx.tar.gz 待压缩的文件
# gzip的解压缩命令
tar zxvf 待压缩的文件.tar.gz

# bzip2的压缩命令
tar jcvf xxxx.tar.bz2 待压缩的文件
# bzip2的解压缩命令
tar jxvf 待压缩的文件.tar.bz2

查看命令位置:which

切换用户:su

设置用户密码:passwd

修改文件权限:chmod,修改文件权限有两种格式:字母法和数字法。这里主要说一下数字法,文件的权限有读写执行,如果用三位二进制表示,则读代表4,写代表2,可执行代表1。文件具有的哪些权限进行相加即可。如5是4+1,所以表示可读可执行。需要注意的是不可执行的对象是目录的时候,文件目录不能被打开。

查看进程信息:ps,常和grep命令一起使用查看进程的信息。命令为 ps aux | grep 查询关键词

终止进程:kill,终止指定的进程,后面跟上进程的pid即可。有些进程不能直接杀死,这时候需要加一个参数-9,-9信号代表强制结束,信号值的范围为1到15。命令为kill -9 pid

关机重启:shutdown、reboot

命令含义
reboot重启操作系统
shutdown -r now重新启动操作系统,shutdown会给别的用户提示
shutdown -h now立刻关机,其中now相当于时间为0的状态
shutdown -h 13:14系统在今天的13:14会关机
shutdown -h +10系统在十分钟后会自动关机

查看或配置网卡信息:ifconfig

测试远程主机的连通性:ping,使用方法为ping 远程主机IP地址

接下来看看关于Linux终端中的一些快捷键:

快捷键含义
Ctrl shift +=放大终端字体
Ctrl -_缩小终端字体
Ctrl C终止运行
Ctrl L清理终端屏幕
Ctrl P上一次执行的命令
Ctrl N下一次执行的命令
Ctrl U清空输入的内容
Ctrl A快速移动到输入开头
Ctrl E快速回到末尾

接下来说一下关于vi和vim使用的一些命令和快捷方式。

命令模式:

按键含义
a光标位置右边插入文字
i光标当前位置插入文字
o光标位置下方开启新行
s删除光标位置的文字并插入文字
A光标所在行尾插入文字
I光标所在行首插入文字
O光标位置上方开启新行
S删除当行并插入文字
[n]dd删除当前行开始的n行,准确来讲应该是剪切
[n]yy复制当前行开始的n行
p把粘贴板上的内容插入到当前行
u撤销前一个命令
gg到文件第一行行首
G到文件最后一行行首
[n]G到指定行
ZZ保存退出
*查找当前光标所在位置内容
n寻找下一个

末行模式:

输入含义
:wq保存退出
:q退出,如果文件修改但没有保存,会提示无法退出
:q!不保存退出
:!命令暂时离开vi执行命令
/字符串查找指定字符串
:set nu显示行号
:set nonu不显示行号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值