Linux C语言高级

一、软件包管理及shell命令

1.流行的两种软件包管理机制

  1.Deb软件包:由Debian Linux首先提出的软件包管理机制

  2.RPM软件包:由Redhat Linux推出的软件包管理机制

2.Debian Linux开发了APT软件包管理器

  1.检查和修复软件包依赖关系

  2.利用Internet网络帮助用户主动获取软件包

3.软件包类型(Ubuntu有两种类型软件包)

  1.二进制软件包:包含可执行文件、库文件、配置文件、man/info页面、版权声明和其他文档;

  2.源码包:包含软件源代码、版权修改说明、构建指令以及编译工具等;

        PS:当用户不确定软件包类型时,可以使用file命令查看文件类型

4.软件包命名

  软件名称        软件版本        修订版本        体系架构

e.g.        

                        sl_3.03-16_i386.deb

5.软件包管理工具分类(常见)

  1.命令行:dpkg apt

  2.文本窗口界面

  3.图形界面

6.dpkg相关命令(离线软件包管理)

    dpkg -i 安装一个在本地文件系统上存在的Debian软件包
    dpkg -r 移除一个已经安装的软件包
    dpkg -P 移除已安装软件包及配置文件
    dpkg -L 列出安装的软件包清单
    dpkg -s 显出软件包的安装状态

7.在线安装软件

step1.下载软件源(可以在终端更新,也可以图形更新)——step2.更新软件包——step3.ping网络——安装软件包(sudo apt-get install 软件名)

Linux C语言高级_第1张图片

8.软件管理相关命令:apt-get(同上)

  update——下载更新软件包列表信息

  upgade——将系统中所有软件包升级到最新版本

  install——下载所需软件包并进行安装配置

  remove——卸载软件包

  autoremove——将不满足依赖关系的软件包自动卸载

  source——下载源码包

  build-dep——为源码包构建所需的编译环境

  clean——删除缓存区中所有已下载的包文件

  autoclean——删除缓存区中老版本的已下载的包文件

  check——检查系统中依赖关系的完整性

  -d——仅下载软件包,而不安装或解压

  -f——修复系统中存在的软件包依赖性问题

  -m——当发现缺少关联软件包时,仍试图继续执行

  -q——将输出作为日志保留,不获取命令执行进度

  --purge——与remove子命令一起使用,完全卸载软件包

  --reinstall——与install子命令一起使用,重新安装软件包

  -b——在下载源码包后,编译生成相应的软件包

  -s——不做实际操作,只是模拟命令执行结果

  -y——对所有询问都作肯定回答,apt-get不再进行任何提示

  -u——获取已升级的软件包列表

  -h——获取帮助信息

  -v——获取apt-get版本号

9.查询软件包信息

  apt-cache show:获取指定软件包的详细信息(安装状态、优先级、版本等等)

  apt-cache policy:获取当前安装状态

  apt-cache depends:了解某个软件包依赖于哪些软件包

  apt-cache rdepends:了解某个软件包被哪些软件包所依赖

10.shell命令

定时关机与重启

                             sudo shutdown -h +45(分钟数)

                             sudo shutdown -r +60(分钟数)

命令格式

多个命令在一行书写时用“;”隔开;

一条命令不能在一行写完时,在行尾使用“\”标明该命令未结束

shell中的特殊字符

通配符:

        当需要命令处理一组文件时,可以用通配符:

        *        匹配任意长度字符        用file_*.txt,匹配file_wang.txt、file_Lee.txt、file3_Liu.txt

        ?       匹配一个长度的字符     用file_?.txt,匹配file_1.txt、file_2.txt、file_3.txt 

        [...]    匹配其中一个指定的字符     用file_[otr].txt,匹配file_o.txt、file_t.txt、file_r.txt

        [-]      匹配指定的一个字符范围     用file_[a-z].txt,匹配file_a.txt、file_b.txt、file_z.txt

        [^]      匹配其中指定的字符,均可匹配     用file_[^otr].txt,除了file_o.txt、file_t.txt、file_r.txt的其他文件。

管道

  将第一个命令的输出作为第二个命令的输入  “|”

e.g.                ls /usr/bin | wc -w

输入/输出重定向

是指改变shell命令或程序的标准输入/输出目标,重新定向到新的目标

        重定向符                                        含义                                e.g.

        >file                将file文件重定向为输出源,新建模式

        >>file              将file文件重定向输出源,追加模式

       

        2>或&>           将由命令产生的错误信息输入到文件中

命令置换

定义:将一个命令的输出作为另一个命令的参数

格式:command1 `command2`

e.g.:ls `pwd` :执行结果为显示当前目录的文件内容

二、Linux shell 命令

1.shell基本系统维护命令

 a.  man、passwd、su、echo命令的用法

man:获取联机帮助

        格式:man commandname 

        功能:提供指定命令commandname的相关信息,包括名称、函数、语法、可选参数等                     (使用":q"退出帮助页面)

        

passwd

        格式:passwd username

        说明:普通用户只能修改自己的用户口令,超级用户root可以修改所有其他用户的口令

        

su

        格式:su [-c | -m - ] username        "-c"表示执行一个命令后就结束;"-m"表示仍保留                         变量不变;-表示转换用户身份,同时使用该用户的环境。

        用法:  su命令用于临时改变用户身份,具有其他用户的权限,普通用户可以使用su命                     令临时具有超级用户权限;超级用户也可以使用普通用户完成一些操作;如果                       放弃当前用户身份,可以使用exit命令切换回来。

                       su -l root 切换到超级用户下  环境也是超级用户

                       su root 只是切换到超级用户下  环境还是普通用户

                       区分su  和  su -

        

echo

        格式:echo [-n] information

        用法:echo命令用于在标准输出——显示器上显示一段文字,一般起到提示作用;                           选项-n表示输出文字后不换行。提示信息字符串可以加引号也可以不加。

修改文件权限

Linux C语言高级_第2张图片        

b.  date、clear、df、du命令用法

date

        格式:date [-d | -s | -u] datestr

        用法:date命令用于显示和设置系统日期和时间。选项-s表示按照datestr日期显示格式  Linux C语言高级_第3张图片

clear

        快捷键:Ctrl + L

        

df

        格式:df [-a | -T | -h | -k] Filesystem

        用法:用于查看磁盘空间使用情况。

Linux C语言高级_第4张图片

du

        用法:列出目录和文件所使用的磁盘块数,每块占512个字节

                常用参数:

                                   -a:仅列出空闲的文件数

                                   -h:列出磁盘的使用情况(KB)

                                   -s:列出总的空闲空间(KB)

        

               PS:df、du一般在系统出故障时使用!

find 路径 -name/-type 文件名        

Linux C语言高级_第5张图片

         

        

grep查找文件内容命令

Linux C语言高级_第6张图片        

 e.g. 

grep "hello" file
grep -A 2 "hello" file  //显示查找内容行和后面的两行
grep -B 2 "hello" file  //显示查找内容行和前面的两行
grep -C 2 "hello" file  //显示查找内容行和前后的两行
grep -irn -C 1 "hello" .   //-i:不区分大小写;-n:显示查找内容在第几行;-r在目录下查找

which命令        

        定位一个命令的位置

                e.g.  which ls

2.Linux用户管理

a.用户管理相关文件介绍

/etc/passwd文件

        用法:/etc/passwd文件时系统能够识别的用户清单。用户登陆时,系统查询这个文                           件,确定用户的UID并验证用户口令;

        

/etc/group文件

        用法:包含了unix组的名称和每个组中成员列表,每一行代表一个组,包括四个字段

                                                组名

                                                加密的口令

                                                GID号

                                                成员列表,彼此逗号隔开

        

adduser

        格式:adduser

        e.g.:# adduser newuser  ——    添加用户名为newuser的新用户

        

adduser配置文件

        路径:/etc/adduser.conf

        

SKEL模板

               用法:/etc/skel目录是被/user/sbin/useradd使用,把想要新用户拥有的配置文                                    件从/etc/skel目录拷贝,常用文件:

                                        .bash_profile

                                       

你可能感兴趣的:(linux,debian)