近期需要回顾一些基础知识,需要相对系统地学习一下。
ref
- Linux工具快速教程 主要参考的文档
帮助
- 在只记得部分命令关键字的场合,我们可通过
man -k
来搜索; - 需要知道某个命令的简要说明,可以使用
whatis
;用`whatis -w “loca*”实现正则匹配; - 而更详细的介绍,则可用
info
命令; - 查看命令在哪个位置,我们需要使用
which
;当系统中安装了同一软件的多个版本时,不确定使用的是哪个版本时,这个命令就能派上用场; - 而对于命令的具体参数及使用方法,我们需要用到强大的
man
;
在man的帮助手册中,将帮助文档分为了9个类别,对于有的关键字可能存在多个类别中, 我们就需要指定特定的类别来查看;(一般我们查询bash命令,归类在1类中);
- 用户可以操作的命令或者是可执行文件
- 系统核心可调用的函数与工具等
- 一些常用的函数与数据库
- 设备文件的说明
- 设置文件或者某些文件的格式
- 游戏
- 惯例与协议等。例如Linux标准文件系统、网络协议、ASCⅡ,码等说明内容
- 系统管理员可用的管理条令
- 与内核有关的文件
我们看到printf在分类1和分类3中都有;分类1中的页面是命令操作及可执行文件的帮助;而3是常用函数库说明;如果我们想看的是C语言中printf的用法,可以指定查看分类3的帮助:
man 3 printf |
文件及目录
# 查看当前目录下文件个数 |
find是实时查找,如果需要更快的查询,可试试locate;locate会为文件系统建立索引数据库,如果有文件更新,需要定期执行更新命令来更新索引库
cat vi head tail more
# 显示时同时显示行号 |
批处理命令连接执行,使用 |
串联: 使用分号 ;
前面成功,则执行后面一条,否则,不执行:&&
前面失败,则后一条执行: ||
ls /proc && echo suss! || echo failed. |
查看文件夹大小
# -h:以人类可读的方式显示 |
环境变量
Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。所以管理环境变量的文件也分为系统级和用户级的。
- 系统级
/etc/environment
: 是系统在登录时读取的第一个文件,用于为所有进程设置环境变量。/etc/profile
:是系统登录时执行的第二个文件,可以用于设定针对全系统所有用户的环境变量。该文件一般是调用/etc/bash.bashrc
文件。/etc/bash.bashrc
:系统级的bashrc
文件,为每一个运行bash shell的用户执行此文件。此文件会在用户每次打开shell时执行一次。
- 用户级
~/.profile
: 是对应当前登录用户的profile文件,用于定制当前用户的个人工作环境。 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。~/.bashrc
: 是对应当前登录用户的bash初始化文件,当用户每次打开shell时,系统都会执行此文件一次。平时设置这个文件就可以了。
那么根据以上描述,这几个文件的执行先后顺序应当是:/etc/enviroment –>/etc/profile –>~/.profile –>/etc/bash.bashrc–> ~/.bashrc
配置环境变量
临时生效
直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】export PATH=/usr/local/webserver/php/bin:$PATH
对当前用户有效
编辑~/.bashrc
并添加export PATH=$PATH:/usr/local/webserver/php/bin
;用source ~/.bashrc
让修改马上生效- 对所有用户生效
在/etc/profile
文件中添加变量,并执行source /etc/profile
文件与目录权限修改
chown # 改变文件的拥有者 |
chmod
的语法为
chmod [who] [+ | - | =] [mode] 文件名 |
- u 表示“用户(user)”,即文件或目录的所有者。
- g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
- o 表示“其他(others)用户”。
- a 表示“所有(all)用户”。它是系统默认值。
# 在一个命令行中可给出多个权限方式,其间用逗号隔开 |
文本处理
find 文件查找
# 查找txt和pdf文件: |
grep 文本搜索
常用参数
- -o 只输出匹配的文本行 VS -v 只输出没有匹配的文本行
- -c 统计文件中包含文本的次数
grep -c “text” filename
- -n 打印匹配的行号
- -i 搜索时忽略大小写
- -l 只打印文件名
# 在多级目录中对文本递归搜索(程序员搜代码的最爱): |
关机
# 立刻关机 |