Linux系统编程 Part1(命令基础、软件安装与卸载)

Linux目录结构:

Linux系统目录:

  • bin:存放二进制可执行文件
  • boot:存放开机启动程序
  • dev:存放设备文件: 字符设备、块设备
  • home:存放普通用户
  • etc:用户信息和系统配置文件 passwd、group
  • lib:库文件:libc.so.6
  • root:管理员宿主目录
  • usr:用户第三方应用

Linux系统文件类型: 7种(加上未知文件共八种)

  • 普通文件:-
  • 目录文件:d
  • 字符设备文件:c
  • 块设备文件:b
  • 软链接:l
  • 管道文件:p
  • 套接字:s
  • 未知文件

只有普通文件、目录、软链接是真正储存在磁盘中的,其它类型都是伪文件


终端快捷键:

  • ctrl + a:移动到行首
  • ctrl + e:移动到行尾
  • ctrl + u:清空输入

软硬链接

软链接:相当于Windows里的快捷方式(为保证软链接可以任意移动,创建时务必对源文件使用绝对路径),语法:ln -s 参数1 参数2(参数1:被链接的,参数2:要链接去的地方)。

硬链接:操作系统给每一个文件赋予唯一的 inode,创建的硬链接与原文件拥有相同的inode,并且这些文件彼此同步。当删除某个文件(硬链接)时,硬链接计数会减一,直到减到0,文件才真正被删除,这时inode也被释放了。语法:ln 参数1 参数2(参数1:被链接的,参数2:要链接去的地方)。

操作用户(组)

创建用户:sudo adduser 用户名

修改用户密码:sudo passwd 新用户名

创建用户组:sudo addgroup 新组名

修改文件所属用户:sudo chown 新用户名 待修改文件

修改文件所属用户组:sudo chgrp 新用户组名 待修改文件

删除用户:sudo deluser 用户名

删除用户组:sudo delgroup 用户组名

使用chown 一次修改所有者和所属组:sudo chown 所有者:所属组 待操作文件

find命令:找文件

  • -type 按文件类型搜索 d/p/s/c/b/l/ f:文件
  • -name 按文件名搜索,例如find ./ -name "*file*.jpg"
  • -maxdepth 指定搜索深度(必须作为第一个选项出现),例如find ./ -maxdepth 1 -name "*file*.jpg"
  • -size 按文件大小搜索. 单位:k、M、G,例如find /home/itcast -size +20M -size -50M
  • -atime、mtime、ctime 天 amin、mmin、cmin 分钟
  • -exec:将find搜索的结果集执行某一指定命令,例如find /usr/ -name '*tmp*' -exec ls -ld {} \;
  • -ok: 以交互式的方式 将find搜索的结果集执行某一指定命令
  • -xargs:将find搜索的结果集执行某一指定命令,当结果集数量过大时,可以分片映射。例如find /usr/ -name '*tmp*' | xargs ls -ld
  • -print0:find /usr/ -name 'tmp' -print0 | xargs -0 ls -ld

软件的安装卸载

CentOSyum [install remove search] [-y] 软件名称

Ubuntuapt [install remove search] [-y] 软件名称

  • install 安装
  • remove 卸载
  • search 搜索
  • -y,自动确认

安装前最好先更新软件资源到本地:sudo yum/apt update

软件包(deb包)安装:以Ubuntu举例

  • 安装deb软件包:sudo dpkg -i xxx.deb
  • 删除deb软件包:sudo dpkg -r xxx.deb
  • 连同配置文件一起删除:sudo dpkg -r --purge xxx.deb

源码安装:重点阅读readme

  1. 解压缩源代码包
  2. cd dir
  3. ./configure(检测文件是否缺失,创建Makefile,检测编译环境)
  4. make(编译源码,生成库和可执行程序)
  5. sudo make install(把库和可执行程序安装到系统路径下)
  6. sudo make distclean(删除和卸载软件)

systemctl

功能:控制系统服务的启动关闭等

语法:systemctl start | stop | restart | disable | enable | status 服务名

  • start,启动
  • stop,停止
  • status,查看状态
  • disable,关闭开机自启
  • enable,开启开机自启
  • restart,重启

压缩/解压

tar :

Linux系统常用有两种压缩格式,后缀名分别是:

  • .tar:称为tarball归档文件,即简单地将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装
  • .gz:也常见为.tar.gz,gzip格式压缩文件,即用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积

针对这两种格式,使用tar命令均可以进行压缩和解压的操作

语法:tar [-c -v -x -f -z -C] 参数1 参数2 ··· 参数n

  • -c:创建压缩文件,用于压缩模式
  • -v:显示压缩、解压过程,用于查看进度
  • -x:解压模式
  • -f:要压缩或者解压的文件(-f选项必须处于选项位置的最后一个)
  • -z:gzip模式,不使用-z就是普通的tarball模式
  • -C:选择解压的目的地,用于解压模式

示例:tar命令的常用组合zcvf

  • tar -zcvf test.tar.gz 1.txt 3.txt(将1.txt和3.txt文件压缩到test.tar.gz中,使用gzip模式)
  • tar -zxvf test.tar.gz -C /home/guapi(以gzip模式解压test.tar.gz至指定目录)

rar :

压缩:rar a -r 压缩包名 压缩材料 (-r指目录递归压缩)

解压:unrar x 压缩包名

zip :

压缩:zip -r 压缩包名 压缩材料

解压:unzip 压缩包名


管道符 |

写法:|

功能:将符号左边的结果,作为符号右边的输入

示例:

cat a.txt | grep itheima,将cat a.txt的结果,作为grep命令的输入,用来过滤itheima关键字

可以支持嵌套:

cat a.txt | grep itheima | grep itcast

反引号 `

功能:被两个反引号包围的内容,会作为命令执行

示例:

echo `pwd`,会输出当前工作目录

重定向符

功能:将符号左边的结果,输出到右边指定的文件中去

  • >,表示覆盖输出
  • >>,表示追加输出

环境变量

  • 临时设置:export 变量名=变量值
  • 永久设置:
    • 针对用户,设置用户HOME目录内:.bashrc文件
    • 针对全局,设置/etc/profile

$符号

可以取出指定的环境变量的值

语法:$变量名

示例:echo $PATH,输出PATH环境变量的值

echo ${PATH}ABC,输出PATH环境变量的值以及ABC

如果变量名和其它内容混淆在一起,可以使用${}


ps:回顾方法 = 博客 + 每一天复习视频(内含思维导图)


不准投币喔 👆

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇