本文主要是介绍Linux 命令行概要,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
概要
本文主要介绍常用Linux命令行
Linux常用命令:
本章节主要使用《Linux命令行大全》 [美] William E. Shotts, Jr. 著
- 本章节适用对象:从其他平台转到Linux的新用户。
- 两个原则:
- ps:外国人写书喜欢从简单的开始,后面就难很多,要耐心看。
shell
包含十个小节:文件相关、命令的命令、重定向、扩展、引用、权限、进程、文本处理、c编译、杂项。
文件相关:
pwd
显示当前的绝对路径
cd
“.”是当前工作目录 “..”是当前工作目录的父目录 cd aFolder 等价于 cd ./aFolder cd - 工作目录回退至上一个工作目录,挺好用的 cd ~username 快速切换目录,基本用不到
ls
参数一览先(按使用频率排序)
- -a 列出隐藏
- -l 长格式 长格式各部分含义 -rw-rw-r-- 1 root root 32059 2018-11-03 10:50 abcd.text -rw-rw-r-- 10位表示对文件的访问权限
- 第一位是文件类型
- 二到四位是所有者权限
- 五到七位是组权限
- 八到十位是其他用户权限
- 1 1位数字表示硬连接数目
- root 所有者用户名
- root 所属于的用户组名
- 32059 文件大小
- 日期 上次修改的日期
- 文件名
- -t 按修改时间排序
- -F 显示类型
- -S 按大小排序
- -r 反向排序
file
确定文件的类型,显示详细数据不只是扩展名
less
查看文件,用G移动到文件末尾
通配符
- :匹配任意多任意字符 ? :匹配任意一个字符 characters :匹配任意一个括号中的字符 !characters :匹配任意一个不属于括号中的字符
- [:class:] :匹配任意一个属于字符类的字符 常用字符类
- :alnum:
- :alpha:
- :digit:
- :lower:
- :upper:
mkdir
可以一次性创建多个folder mkdir f... 如:mkdir f1 f2 f3 f4 f5
cp
- cp item1 item2
- cp item... folder
- 选项:
- -a 复制文件和目录及其属性
- -i 覆盖风险提醒
- -r 递归复制内容(复制文件夹内内容)
- -u --update
mv
- mv item1 item2 重命名
- mv item.. folder 移动至文件夹
- 选项:
- -i:覆盖风险提醒
- -u: update,只移动更新的或者目标文件夹中不存在的
rm
- -i: 提示用户确认
- -r:递归
- -f:强制
- -v:显示消息性信息
符号链接
-rw-r-r-- 1 root root 32059 2018-11-03 10:50 abcd.text -> aaaa.text 最后的 -> 叫做符号链接,又叫软连接,主要用于使用版本号命名文件时,文件名称更改引起的问题,通过软连接提供一个抽象层,解决使用更新版本后需要更改软件对文件的依赖(需要更改依赖的文件名)的问题
ln:
命令的命令
type
符号链接
-rw-r-r-- 1 root root 32059 2018-11-03 10:50 abcd.text - aaaa.text 最后的 - 叫做符号链接,又叫软连接,主要用于使用版本号命名文件时,文件名称更改引起的问题,通过软连接提供一个抽象层,解决使用更新版本后需要更改软件对文件的依赖(需要更改依赖的文件名)的问题
ln:
命令的命令
type
which
help
man
apropos
whatis
重定向
标准入、标准出、标准错
- 概念自行google
- 标准输出重定向
- \ 的使用:等价于1\注意这是从文件首位置开始覆盖文件。
- \ 的使用:追加模式
- 如果发生错误,错误走标准错误,重定向指向的文件会被0字节覆盖,从而删除所有文本,所以可以使用
- \ someFile”
- 来清除文件内容
- 标准输入重定向
- 标准错误重定向
- 2 的含义:0表示标准输入,1表示标准输出,2表示标准错误
- 重定向标准错误和标准输出:
- ls -l \User 1.text 2 &1
- ls -l \User & 1.text
管道:
- 使用:ls -l | less
- 意义:完成了命令之间的交互,把一个命令的输出放入到另一个命令的输入,相当于命令的顺序处理
filter
grep:
- 例子:ls -l | grep zip
- 参数:-i(忽略大小写) -v(输出与模式不匹配的行)
- 其他命令:http://www.runoob.com/linux/linux-comm-grep.html
- 说明:grep本身可以用来检索文件中的信息,使用管道就是重定向了grep命令的输入,毕竟linux万物都是文件
wc
uniq
head
tail
tee
- 主要用于输出分叉,在某一级管道同时输出到一个文件和另一个命令的输入
扩展
- 波浪线扩展:“~”表示当前用户的主目录
- 算数扩展:$((2+2))
- 花括号扩展:花括号内会被循环访问一遍
- 参数扩展 :变量
- 命令替换:把一个命令的输出作为一个扩展模式使用,跟管道结合,在不同场景使用
引用
- 双引号:双引号内为一个参数,比如项目里有一个叫Apple Music的文件夹,每次git status都会给你一个带空格的目录,git add path就会因为空格断开,这时候就找不到路径,使用“” 会表示这是一个参数。相当于给空格加了转义“\ ”。
- 注意双引号不会忽略扩展
- 单引号:忽略所有的扩展
- 转义字符:转义一个特定的字符
权限
chmod
chmod 600 foo.txt
使用八进制,常用:7(rwx)、6(rw-)、5(r-x)、4(r--)、0(---)
su
sudo
文本处理
编辑快捷键
- 修改文本
- 复制和粘贴
- ^K:从光标到末尾剪切
- ^U:从光标到行首剪切
- ⌥D:从光标到单词末尾的剪切
- ⌥backspace:从光标到单词首的剪切
- 光标移动:
- ^A:行首
- ^E:行尾
- ^F:前进一个字符
- ^B:后退一个字符
- ⌥F:前进一个字
- ⌥B:后退一个字
cat
- 定义上是用来合并文件
- 具有读取数据的功能:读取多个文件到标准输出
- cat files..
- 具有写入数据的功能:上一个功能加上重定向(使用即可,实现的是功能)
- Cat files oneFile
- 单独使用cat,相当于cat 0 1,获取标准输入,输出到标准输出
c编译
杂项
ping
netstat
正则表达式
元字符: ^ $ . { } - ? * + ( ) | \
任意字符:.
锚:^:标定开头位置 $:标定结束位置
:构建一个字符集
限定符:
- ?:匹配某个元素0次获1次
- * :匹配某个元素多次或0次
- + :匹配一个字符1次以上
- { }:提供一个匹配次数的range。
- { 1 }:匹配1次
- { 2, 3 }:匹配2-3次
- { 2, }:两次以上,不包括两次
- { ,2 }:两次以下,不包括两次
这篇关于Linux 命令行概要的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!