Linux系统基本指令
- cat(用于连接文件并打印到标准输出设备上)
- ls (用于显示指定工作目录下之内容,列出目前工作目录所含之文件及子目录)
- cp (主要用于复制文件或目录)
- rcp(用于复制远程文件或目录)
- mv (用来重命名和移动文件或文件夹)
- rm(删除文件或目录)
- more(命令类似cat,以一页一页的形式显示,更方便使用者逐页阅读)
- less(与more类似)
- du(显示指定目录或文件的大小)
- grep(查找文件里符合条件的字符串)
- awk(一种处理文本文件的语言,是一个强大的文本分析工具)
- top(实时显示后台进程动态)
- ps(显示当前进程,类似windows系统任务管理器)
- which(用于查找文件,该指令会在环境变量$PATH设置的目录里查找符合条件的文件)
- echo(用于字符串的输出)
cat(用于连接文件并打印到标准输出设备上)
参数:
- -n 或 – number:把行号添加到文件内容中
– 例:把1.py 加上行号 写入2.py中cat -n 1.py > 2.py
- -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号
- -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
- -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
- -E 或 --show-ends : 在每行结束处显示 $。
- -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
- -A, --show-all:等价于 -vET。
- -e:等价于"-vE"选项;
- -t:等价于"-vT"选项;
- 清空文件
– 例:清空当前目录下1.txt的内容cat /dev/null > /etc/1.txt
ls (用于显示指定工作目录下之内容,列出目前工作目录所含之文件及子目录)
参数:
- -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
- -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
- -r 将文件以相反次序显示(原定依英文字母次序)
- -t 将文件依建立时间之先后次序列出
- -A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
- -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 "/"
- -R 若目录下有文件,则以下之文件亦皆依序列出
- 列出指定目录的文件
– 例:ls ./root
cp (主要用于复制文件或目录)
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
- -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式
- -f:覆盖已经存在的目标文件而不给出提示
- -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
- -l:不复制文件,只是生成链接文件
rcp(用于复制远程文件或目录)
- -p 保留源文件或目录的属性,包括拥有者,所属群组,权限与时间
- -r 递归处理,将指定目录下的文件与子目录一并处理
rcp [-pr][源文件或目录][目标文件或目录]
mv (用来重命名和移动文件或文件夹)
- -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份
- -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作
- -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件
- -n: 不要覆盖任何已存在的文件或目录
- -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作
例:将dict文件夹下面的1.py 移动到当前目录并改名为2.py
mv ./dic1/1.py 2.py
rm(删除文件或目录)
- -i 删除前逐一询问确认
- -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认
- -r 将目录及以下之档案亦逐一删除
more(命令类似cat,以一页一页的形式显示,更方便使用者逐页阅读)
- -num 一次显示的行数
- -d 会出现提示按键操作
- -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
- -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
- -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
- -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
例:在第10行开始显示内容
more +10 1.py
less(与more类似)
- -b <缓冲区大小> 设置缓冲区的大小
- -e 当文件显示结束后,自动离开
- -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
- -g 只标志最后搜索的关键词
- -i 忽略搜索时的大小写
- -m 显示类似more命令的百分比
- -N 显示每行的行号
- -o <文件名> 将less 输出的内容在指定文件中保存起来
- -s 显示连续空行为一行
- -S 舍弃过长行的内容
替他操作:
-
全屏导航
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏 -
单行导航
j - 向前移动一行
k - 向后移动一行 -
其它导航
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令 -
其它有用的命令
v - 使用配置的编辑器编辑当前文件
h - 显示 less 的帮助文档
&pattern - 仅显示匹配模式的行,而不是整个文件
du(显示指定目录或文件的大小)
- -a或-all 显示目录中个别文件的大小
- -b或-bytes 显示目录或文件大小时,以byte为单位
- -c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
- -D或–dereference-args 显示指定符号连接的源文件大小
- -h或–human-readable 以K,M,G为单位,提高信息的可读性。
- -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位
- -k或–kilobytes 以1024 bytes为单位
- -m或–megabytes 以1MB为单位
- -L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小
- -s或–summarize 仅显示总计
- -S或–separate-dirs 显示个别目录的大小时,并不含其子目录的大小
- -x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过
- -X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件
例:显示当前文件夹大小
du ./GG
grep(查找文件里符合条件的字符串)
- -a 或 --text : 不要忽略二进制的数据
- -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容
- -b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号
- -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容
- -c 或 --count : 计算符合样式的列数
- -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容
- -d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作
- -e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式
- -E 或 --extended-regexp : 将样式为延伸的正则表达式来使用
- -f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式
- -F 或 --fixed-regexp : 将样式视为固定字符串的列表
- -G 或 --basic-regexp : 将样式视为普通的表示法来使用
- -h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称
- -H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称
- -i 或 --ignore-case : 忽略字符大小写的差别
- -l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称
- -L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称
- -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号
- -o 或 --only-matching : 只显示匹配PATTERN 部分
- -q 或 --quiet或–silent : 不显示任何信息
- -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同
- -s 或 --no-messages : 不显示错误信息
例:匹配字符串 import开头的字符串 在 py文件里面
grep import* *.py
awk(一种处理文本文件的语言,是一个强大的文本分析工具)
- -F fs or --field-separator fs
指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F: - -v var=value or --asign var=value
赋值一个用户定义变量 - -f scripfile or --file scriptfile
从脚本文件中读取awk命令 - -mf nnn and -mr nnn
对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用
top(实时显示后台进程动态)
- -d 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
- -q 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
- -c 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称
- -S 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
- -s 安全模式,将交谈式指令取消, 避免潜在的危机
- -i 不显示任何闲置 (idle) 或无用 (zombie) 的行程
- n 更新的次数,完成后将会退出 top
- b 批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内
例:显示进程信息
top
ps(显示当前进程,类似windows系统任务管理器)
- -ef
– 例:查找指定进程ps -ef | grep 关键字 "
which(用于查找文件,该指令会在环境变量$PATH设置的目录里查找符合条件的文件)
- -n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
- -p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径
- -w 指定输出时栏位的宽度
例:查找bash指令的绝对路径
which bash
echo(用于字符串的输出)
例:输出string
echo string
例:输出日期
echo `date`