Linux常用命令笔记
2019-12-05 本文已影响0人
CoderCyl
date命令
date :查看系统当前时间和日期
cal命令
cal :显示当月的日历
df命令
df :查看磁盘当前可用空间
free命令
free :查看可用内存(运行内存)
exit命令
exit :结束终端会话
pwd命令
pwd :查看当前工作目录
cd命令
cd :将主目录切换为工作目录
cd ~ :将主目录切换为工作目录
cd - :将上一次使用的目录切换成当前的工作目录
cd .. :返回上级目录
cd ../.. :返回上两级目录
ls命令
ls :列出目录内容
ls -l :以长格式显示目录内容详细信息
ls -a :显示所有档案和目录
ls -A :显示除隐藏文件"."或者".."以外的所有文件
ls -F :在每个输出项后追加文件的类型标识符,当文件为普通文件时,不输出任何标识符
"*" 表示具有可执行权限的普通文件
"/" 表示目录
"@" 表示符号链接
"|" 表示命令管道FIFO
"=" 表示sockets套接字
ls -c -lt :按照文件状态时间排序输出目录内容,根据索引的ctime字段排序
ls -c -l :按照文件首字母先后排序,同【ls -l】
ls -i :显示文件索引节点号,一个索引节点代表一个文件
ls -m :以","分割每个文件或者目录的名称
ls -r :以文件名反序排序输出文件目录列表,与【ls】效果相反
ls -t :以文件或者目录的修改时间排序,时间由近至远
ls -a 例图
ls -A 例图
ls -F 例图
ls -r 例图
ls -c -lt 例图
字段 | 含义 |
---|---|
drwxr-xr-x | 对文件的访问权限。第一个字符表示文件类型,"-"表示普通文件,"d"表示目录。接下来三个字符表示文件所有者的访问权限;再接下来三个字符表示文件所属组成员的访问权限;最后三个字符表示其他所有人的访问权限 |
2 | 文件硬链接数目 |
hcc | 文件所有者的用户名 |
hcc | 文件所属用户组的用户名 |
4096 | 以字节数表示文件大小 |
9月 | 月份 |
19 | 日期 |
10:48 | 时间 |
Book | 文件或者目录名 |
通配符
通配符 | 匹配项 |
---|---|
* | 匹配任意多个字符(包括0个和1个) |
? | 匹配任意单个字符(不包括0个) |
[characters] | 匹配任意一个属于字符集中的字符 |
[!characters] | 匹配任意一个不属于字符集中的字符 |
[[:class:]] | 匹配任意一个属于字符类中的字符 |
"*"匹配符示例
形式 | 说明 |
---|---|
g* | 以 g 开头的任意文件 |
b*.txt | 以 b 开头,中间有任意多个字符,并且以 .txt 结尾的文件 |
Data??? | 以 Data 开头,后面跟三个任意字符的文件 |
[abc]* | 以 abc 任一字符开头的任一文件 |
BACKUP.[0-9][0-9][0-9] | 以BACKUP.开头,后面紧跟 3 个数字的任一文件 |
[[:upper:]]* | 以大写字母开头的任一文件 |
[![:digit:]]* | 不以数字开头的任一文件 |
*[[:lower:]123] | 以小写字母或数字 1、2、3 中任一个结尾的任一文件 |
mkdir命令
mkdir dir :在当前工作目录创建一个名为dir的目录
mkdir dir1 dir2 dir3 :在当前工作目录创建三个分别名为 dir1、dir2、dir3的目录
cp命令
cp file1 file2 :将文件 file1 的内容复制到 file2 中,file2 存在则覆盖,不存在则创建
cp -i file1 file2 :将文件 file1 的内容复制到 file2 中,当 file2存在时,提示是否覆盖file2
cp file1 file2 dir1 :将 file1、file2 复制到 dir1 目录中,dir1 目录必须存在
cp dir1/* dir2 :将 dir1 目录下的文件复制到 dir2 目录中,dir2 目录必须存在
cp -r dir1 dir2 :将 dir1 目录复制到 dir2 目录中,-r必须要
cp /a/b . :将 /a/b 目录下的所有文件复制到当前工作目录
cp命令选项
选项 | 含义 |
---|---|
-a, --archive | 复制文件和目录及其属性,包括所有权和权限。通常来说,复制文件具有用户所操作文件的默认属性 |
-i, --interactive | 在覆盖一个已存在的文件时,提示用户进行确认。如果没有指定该选项,cp会默认覆盖文件 |
-r, --recursive | 递归的复制目录及其内容。复制目录时需要该选项(或-a选项) |
-u, --update | 当将文件从一个目录复制到另一个目录时,只会复制那些目标目录中不存在的文件或者是目标目录文件相应的更新文件 |
-v, --verbose | 复制文件时,显示信息性消息 |
mv命令
mv file1 file2 :将文件 file1 内容复制到 file2中,file2 存在则覆盖,不存在则创建,file1 将不再存在
mv -i file1 file2 :同上,仅当 file2 存在时,提示用户确认
mv file1 file2 dir1 : 将 file1、file2 移动到 dir1 目录中,dir1 目录必须存在
cp dir1/* dir2 :将 dir1 目录下的文件移动到 dir2 目录中,dir2 目录必须存在
mv dir1 dir2 :当 dir2 存在,将 dir1 以及内容移动到 dir2 中;当 dir2 不存在,将dir1 目录下的内容移动到dir2 目录中
mv命令选项
选项 | 含义 |
---|---|
-i, --interactive | 在覆盖一个已存在的文件时,提示用户进行确认。如果没有指定该选项,mv会默认覆盖文件 |
-u, --update | 当将文件从一个目录移动到另一个目录时,只会移动那些目标目录中不存在的文件或者是目标目录文件相应的更新文件 |
-v, --verbose | 移动文件时,显示信息性消息 |
rm命令
rm file1 :在不提示用户的情况下,删除 file1
rm -i file1 :删除 file1 前,提示用户确认
rm file1 dir1 :删除 file1、dir1 以及他们的内容
rm -rf file1 dir1 :同上,当 file1 或者 dir1 不存在时,不提示用户文件或目录不存在
alias别名
alias name= 'string'
alias foo= 'cd /usr; ls; cd ~' :将三个命令合成为一个
unalias foo :取消别名
标准输出重定向
【命令 > 文件名】将命令的输出内容保存到文件中(主目录)【覆盖式】
ls -l > a.txt
【命令 >> 文件名】将命令的输出内容保存到文件中(主目录)【追加式】
ls -l >> a.txt
标准错误重定向
一个程序可以把生成的输出发送到任意文件流中。如果把这些文件流中的前三个分别对应标准输入文件、标准输出文件和标准错误文件。由于标准错误又等同于文件描述符2,所以可以用这种表示法来重定向标准错误。
【命令 2> 文件名】将命令的错误输出内容保存到文件中(主目录)
将标准输出和标准错误重定向到同一个文件中
方式一 :命令 > 文件 2>&1
ls > a.txt > 2>&1
方式二 :命令 &> 文件
ls &> a.txt
处理不想要的输出
命令 2> /dev/null
打印文件的开头部分/结尾部分(head/tail命令)
head a.txt :打印 a.txt 文件内容的前十行
head -n x a.txt :打印 a.txt 文件内容的前 x 行
tail a.txt :打印 a.txt 文件内容的后 10 行
tail -n x a.txt :打印 a.txt 文件内容的后 x 行
ls -l | tail :打印 ls -l 命令结果的后 10 行
ls -l | head :打印 ls -l 命令结果的前 10 行
ls -l | tail -n x :打印 ls -l 命令结果的后 x 行
ls -l | head -n x :打印 ls -l 命令结果的前 x 行
tee命令,从标准输入读取数据,输出到标准输出和文件
ls -l | tee a.txt :将 ls -l 命令的结果输出到 a.txt 文件中,感觉和 ls -l > a.txt 效果相同
echo命令
echo Linux常用命令 :输出"Linux常用命令"字符串内容
echo * :* 通配符,输出当前工作目录下所有内容,类似 ls 命令的结果
路径名扩展
运行 ls 命令 :
AndroidPro c.txt lantern 公共的 图片 音乐
a.txt Develop PDFReader 模板 文档 桌面
Book examples.desktop sougou_input 视频 下载
运行 echo A 命令(以字母A开头的所有文件或目录) :*
AndroidPro
*运行 echo p 命令(以字母p结尾的所有文件或目录) :
Develop examples.desktop
运行 echo e 命令(中间包含字母e,前面和后面是任意字符的文件或目录) :
Develop examples.desktop lantern PDFReader
运行 echo [[:upper:]] 命令(以大写字母开头的所有文件或目录):*
AndroidPro Book Develop PDFReader
运行 echo usr/ 命令(usr 命令下的所有文件或目录)*
/usr/bin /usr/games /usr/include /usr/lib /usr/local /usr/locale /usr/sbin /usr/share /usr/src
波浪线扩展
echo ~ :当前用户的主目录
echo ~hcc :如果有 hcc 这个用户
算术扩展
echo $((expression)) :输入算术运算(只支持整数)
+ :加法[echo $((4+2))] --> 6
- :减法[echo $((4-2))] --> 2
* :乘法[echo $((4*2))] --> 8
/ :除法[echo $((4/2))] --> 2
% :取余[echo $((4%2))] --> 0
** :取幂[echo $((4**2))] --> 16
花括号扩展
echo A{a,b,c}D ——> AaD AbD AcD
echo Num_{1..10} ——> Num_1 Num_2 Num_3 Num_4 Num_5 Num_6 Num_7 Num_8 Num_9 Num_10
echo {A..Z} ——> A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
echo a{A{1,2},B{3,4}}b ——> aA1b aA2b aB3b aB4b
echo a{A{1..2},B{3..4}}b ——> aA1b aA2b aB3b aB4b
光标移动命令(非 vi 编辑器中)
组合键 | 作用 |
---|---|
Ctrl+A | 移动光标到行首 |
Ctrl+E | 移动光标到行尾 |
Ctrl+F | 光标向前移动一个字符,和 Ctrl+ → 作用一样 |
Ctrl+B | 光标向后移动一个字符,和 Ctrl+ ← 作用一样 |
Alt+F | 光标向前移动一个字 |
Alt+B | 光标向后移动一个字 |
Alt+L | 清屏并把光标移到左上角,clear 命令可以完成相同的工作 |
修改文本命令(非 vi 编辑器中)
组合键 | 作用 |
---|---|
Ctrl+D | 删除光标处的字符 |
Ctrl+T | 使光标处的字符和它前面的字符互换位置 |
Alt+L | 把从光标到字尾的字符转换成小写字母形式 |
Alt+U | 把从光标到字尾的字符转换成大写字母形式 |
复制和剪切命令
组合键 | 作用 |
---|---|
Ctrl+K | 剪切从光标到行尾的文本 |
Ctrl+U | 剪切从光标到行首的文本 |
Ctrl+Y | 把 kill-ring 缓冲区的文本粘贴到光标位置 |
Alt+D | 剪切从光标到当前词尾的文本 |
Alt+Backspace | 剪切从光标到词头的文本。如果光标在一个单词的开头,则剪切前一个单词 |