Linux/Mac/Shell常用命令

Shell常用命令

工欲善其事,必先利其器。无论是做哪一方面开发的程序员,都免不了和shell打交道,不管是基于Linux的服务器、开发机,还是Mac。

本文主要记录一些Shell命令的基本用法,作为参考/查询手册,随时更新、完善。更多技巧以及详细解释将后续以专题形式持续更新。

常用命令

  1. ls 查看当前目录下的文件
  2. cd 进入某目录
    cd - 跳转回前一目录
    cd ~ 进入当前用户个人目录
  3. pwd 输出当前所在路径
  4. mkdir 新建文件夹
  5. touch 新建文件
  6. find 查找文件
  7. ln 建立链接
  8. du 查看目录大小
  9. cal 显示日历
  10. date 显示当前日期、时间

文件传输类

  1. mv 移动文件/重命名
  2. cp [File Name] [Destination] 拷贝文件
  3. cp -R [File Name] [Destination] 递归拷贝(主要用于文件夹)
  4. scp 远程拷贝,除了需要在远程地址的目录前加入user@host:形式的地址信息外,命令用法与copy一致
  5. ftp 启动ftp服务。

压缩与解压缩

tar 打包压缩
-c 归档文件
-x 解压缩文件
-v 显示压缩/解压缩过程
-j bzip2压缩文件
-z gzip压缩文件
-f 使用档名
tar -cvf 只打包,不压缩
tar -zcvf 打包,并用gzip压缩
tar -jcvf 打包,并用bzip2压缩

解压缩时,只需将上述命令中c换成x即可。

系统命令类

  1. whoami 显示当前操作用户
  2. hostname 显示主机名
  3. uname 显示系统信息
  4. top 动态显示当前耗费资源最多进程信息
  5. ps 显示瞬间进程状态 ps aux
  6. kill 杀死进程(top/ps查看进程id后,kill [id]
  7. netstat显示网络状态信息
  8. which [command] 查看命令所在路径
    export [VAR]="xxx"为系统变量赋值
    alias [short]=[long] 为命令设定别名
  9. du -sh * 带有单位显示目录信息
  10. df 查看磁盘大小
    df -h 带有单位显示磁盘信息
  11. ps 是Process Status的缩写,查看系统进程状态。为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用top工具。
    ps -ef 用标准的格式显示进程,是比较常用的一种命令,后面管道接grep,查看确切进程状态,之后结合kill命令,杀死进程。

文本操作类

这是比较重要的一节,后面会专门写文章介绍这些概念,这里只作为一个目录。

  1. cat 查看文件内容
  2. head 查看文件头部内容
    tail 查看文件尾部内容
  3. more/less分页显示文件内容
  4. grep 在文本文件中查找某个字符串
  5. sed 管道命令,以行为单位进行处理
  6. awk 管道命令,以列为单位进行处理
  7. | 管道
  8. > >> 重定向

grep

grep 命令语法

grep 'word' 文件名
grep 'word' 文件1 文件2 文件3
grep '字符串1 字符串2' 文件名
cat 某个文件 | grep '某个东西'
command  | grep '某个东西'
command 选项1 | grep '数据'
grep --color '数据' 文件名

grep在文件夹中查找包含内容的文件

grep 'filename' dir

在目录下查找含有 filename 的文件

-i 强制忽略大小写
-r 递归
-H 输出文件名
-h 禁止输出文件名

grep在文件中查找内容

grep 'text' file

file中查找 text
-w 强制输出仅仅包含整个单词的行
-c 统计匹配到的次数
-n 显示行号
-v 输出不包含匹配的项
word1|word2 搜索两个不同的单词,(egrep支持正则的省略语法)
--color 强制以彩色输出
-l 显示包含text的文件名(此时file是多个文件,例如*.html/path/*)
-L 显示不包含text的文件名

包管理(ubuntu)

此处主要介绍ubuntu包管理概念,大多数Mac用户使用Brew,原理类似,具体命令参考帮助文档即可。

sudo apt-get update 更新软件源信息
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统(慎重!!!)
sudo apt-get install 安装软件
sudo apt-get -f install   修复安装
sudo apt-get remove 删除软件
sudo apt-get remove --purge 删除软件以及配置文件
sudo apt-get autoremove 自动删除(未删除的依赖)
sudo apt-get clean && sudo apt-get autoclean 清理无用的包

权限管理

  1. chmod 更改权限
  2. chown 更改文件的用户及用户组

shell脚本

变量,字符串

# 声明变量, 注意不要留空格
x=12
y=hello
# 字符串拼接
echo $y" world!"
# 输出所有环境变量
set

参数

通过$1, $2...${10}...的形式来使用参数

# 输出当前脚本的参数个数
echo "$#"

返回值

程序返回值范围:0-255, 默认为0. 常见error code:
1 general error
2 错误使用命令,比如,传入不恰当的参数
127 command not found

# 退出,并返回
# 输出最近一条命令的返回值
echo $?

函数

# 声明
myfunc() {
    echo  "in myfunc: ";
    echo  "first: "$1", second: "$2;
}
# 调用(无需括号)
myfunc;
# 调用,含参数
myfunc hello world;
  • 使用参数方式与文件相同。区别在于函数通过return返回,而文件使用exit返回。
  • 是对.zshrc的有力补充,因为可以接受参数。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容