##工作中常用的Linux命令
文件结构
/ : 根目录
/bin:存储常用的可执行文件命令
/etc:存储配置文件
/var:存放日志
/lib: 存放安装包,头文件,静态库
/home:所有用户家目录
/proc:存放配置文件
绝对路径:开头带/
相对路径:开头不是/
. : 表示当前目录
… :表示上一个进去过的目录
~/:家目录
文件管理常用指令
(1) ctrl c: 取消命令(用来终止当前命令),并且换下一个命令行
(2) ctrl u: 清空本行命令(命令打很长,但不对想全部删掉重写命令时用)
(3) tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选项
(4) ls: 列出当前目录下所有文件,蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件
ls -l
:可显示详细信息;ls -lh
:人性化详细显示;ls -a
:显示所有文件,包括隐藏文件(以.开头的文件);- l、h、a 可随意连接组合,例如 -la、-lh、-lah.
(5) pwd
: 显示当前路径
(6) cd XXX
: 进入XXX目录下, cd … 返回上层目录
(7) cp XXX YYY
: 将XXX文件复制成YYY,XXX和YYY可以是一个路径,比如…/dir_c/a.txt,表示上层目录下的dir_c文件夹下的文件a.txt
- cp a b -r :把a目录整个复制到b目录里
(8) mkdir XXX
: 创建目录XXX
(9) rm XXX
: 删除普通文件; rm XXX -r: 删除文件夹
(10) mv XXX YYY
: 将XXX文件移动到YYY,和cp命令一样,XXX和YYY可以是一个路径;重命名也是用这个命令
(11) touch XXX
: 创建一个文件
(12) cat XXX
: 展示文件XXX中的内容
(13) 复制文本
windows/Linux下:Ctrl + insert,Mac下:command + c
(14) 粘贴文本
windows/Linux下:Shift + insert,Mac下:command + v
系统状况
top
:查看所有进程的信息(Linux的任务管理器)
- 打开后,输入M:按使用内存排序
- 打开后,输入P:按使用CPU排序
- 打开后,输入q:退出
df -h
:查看硬盘使用情况
free -h
:查看内存使用情况
du -sh
:查看当前目录占用的硬盘空间
ps aux
:查看所有进程
kill -9 pid
:杀死编号为pid的进程
- 传递某个具体的信号:
kill -s SIGTERM pid
netstat -nt
:查看所有网络连接
w
:列出当前登陆的用户
ping www.baidu
:检查是否连网
文件权限
chmod
:修改文件权限
chmod +x xxx
:给xxx添加可执行权限
chmod -x xxx
:去掉xxx的可执行权限
chmod 777 xxx
:将xxx的权限改成777
chmod 777 xxx -R
:递归修改整个文件夹的权限
文件检索
find /path/to/directory/ -name '*.py'
:搜索某个文件路径下的所有*.py文件
grep xxx
:从stdin中读入若干行数据,如果某行中包含xxx,则输出该行;否则忽略该行。
wc
:统计行数、单词数、字节数
- 既可以从stdin中直接读入内容;也可以在命令行参数中传入文件名列表;
- wc -l:统计行数
- wc -w:统计单词数
- wc -c:统计字节数
tree
:展示当前目录的文件结构
tree /path/to/directory/
:展示某个目录的文件结构
tree -a
:展示隐藏文件
ag xxx
:搜索当前目录下的所有文件,检索xxx字符串
cut
:分割一行内容
- 从stdin中读入多行数据
- echo $PATH | cut -d ‘:’ -f 3,5:输出PATH用:分割后第3、5列数据
- echo $PATH | cut -d ‘:’ -f 3-5:输出PATH用:分割后第3-5列数据
- echo $PATH | cut -c 3,5:输出PATH的第3、5个字符
- echo $PATH | cut -c 3-5:输出PATH的第3-5个字符
sort
:将每行内容按字典序排序
- 可以从stdin中读取多行数据
- 可以从命令行参数中读取文件名列表
xargs
:将stdin中的数据用空格或回车分割成命令行参数
find . -name '*.py' | xargs cat | wc -l
:统计当前目录下所有python文件的总行数
查看文件内容
more
:浏览文件内容
- 回车:下一行
- 空格:下一页
q
:退出
less
:与more类似,功能更全
- 回车:下一行
y
:上一行- Page Down:下一页
- Page Up:上一页
q
:退出
head -3 xxx
:展示xxx的前3行内容
- 同时支持从stdin读入内容
tail -3 xxx
:展示xxx末尾3行内容
- 同时支持从stdin读入内容
用户相关
history
:展示当前用户的历史操作。内容存放在~/.bash_history中
工具
md5sum
:计算md5哈希值
- 可以从stdin读入内容
- 也可以在命令行参数中传入文件名列表;
time command
:统计command命令的执行时间
ipython3
:交互式python3环境。可以当做计算器,或者批量管理文件。
! echo "Hello World"
:!
表示执行shell
脚本
watch -n 0.1 command
:每0.1秒执行一次command命令
tar
:压缩文件
tar -zcvf xxx.tar.gz /path/to/file/*
:压缩tar -zxvf xxx.tar.gz
:解压缩
diff xxx yyy
:查找文件xxx与yyy的不同点
安装软件
sudo command
:以root身份执行command命令
apt-get install xxx
:安装软件
pip install xxx --user --upgrade
:安装python包
vim教程
功能:
(1) 命令行模式下的文本编辑器。
(2) 根据文件扩展名自动判别编程语言。支持代码缩进、代码高亮等功能。
(3) 使用方式:vim filename
如果已有该文件,则打开它。
如果没有该文件,则打开个一个新的文件,并命名为filename
模式:
(1) 一般命令模式
默认模式。命令输入方式:类似于打游戏放技能,按不同字符,即可进行不同操作。可以复制、粘贴、删除文本等。
(2) 编辑模式
在一般命令模式里按下i,会进入编辑模式。
按下ESC会退出编辑模式,返回到一般命令模式。
(3) 命令行模式
在一般命令模式里按下:/?三个字母中的任意一个,会进入命令行模式。命令行在最下面。
可以查找、替换、保存、退出、配置编辑器等。
操作:
(1) i:进入编辑模式
(2) ESC:进入一般命令模式
(3) h 或 左箭头键:光标向左移动一个字符
(4) j 或 向下箭头:光标向下移动一个字符
(5) k 或 向上箭头:光标向上移动一个字符
(6) l 或 向右箭头:光标向右移动一个字符
(7) n:n表示数字,按下数字后再按空格,光标会向右移动这一行的n个字符
(8) 0 或 功能键[Home]:光标移动到本行开头
(9) $ 或 功能键[End]:光标移动到本行末尾
(10) G:光标移动到最后一行
(11) :n 或 nG:n为数字,光标移动到第n行
(12) gg:光标移动到第一行,相当于1G
(13) n:n为数字,光标向下移动n行
(14) /word:向光标之下寻找第一个值为word的字符串。
(15) ?word:向光标之上寻找第一个值为word的字符串。
(16) n:重复前一个查找操作
(17) N:反向重复前一个查找操作
(18) :n1,n2s/word1/word2/g:n1与n2为数字,在第n1行与n2行之间寻找word1这个字符串,并将该字符串替换为word2
(19) :1,
s
/
w
o
r
d
1
/
w
o
r
d
2
/
g
:将全文的
w
o
r
d
1
替换为
w
o
r
d
2
(
20
)
:
1
,
s/word1/word2/g:将全文的word1替换为word2 (20) :1,
s/word1/word2/g:将全文的word1替换为word2(20):1,s/word1/word2/gc:将全文的word1替换为word2,且在替换前要求用户确认。
(21) v:选中文本
(22) d:删除选中的文本
(23) dd: 删除当前行
(24) y:复制选中的文本
(25) yy: 复制当前行
(26) p: 将复制的数据在光标的下一行/下一个位置粘贴
(27) u:撤销
(28) Ctrl + r:取消撤销
(29) 大于号 >:将选中的文本整体向右缩进一次
(30) 小于号 <:将选中的文本整体向左缩进一次
(31) :w 保存
(32) :w! 强制保存
(33) :q 退出
(34) :q! 强制退出
(35) :wq 保存并退出
(36) :set paste 设置成粘贴模式,取消代码自动缩进
(37) :set nopaste 取消粘贴模式,开启代码自动缩进
(38) :set nu 显示行号
(39) :set nonu 隐藏行号
(40) gg=G:将全文代码格式化
(41) :noh 关闭查找关键词高亮
(42) Ctrl + q:当vim卡死时,可以取消当前正在执行的命令
异常处理:
每次用vim编辑文件时,会自动创建一个.filename.swp的临时文件。
如果打开某个文件时,该文件的swp文件已存在,则会报错。此时解决办法有两种:
(1) 找到正在打开该文件的程序,并退出
(2) 直接删掉该swp文件即可
##工作中常用的Linux命令
文件结构
/ : 根目录
/bin:存储常用的可执行文件命令
/etc:存储配置文件
/var:存放日志
/lib: 存放安装包,头文件,静态库
/home:所有用户家目录
/proc:存放配置文件
绝对路径:开头带/
相对路径:开头不是/
. : 表示当前目录
… :表示上一个进去过的目录
~/:家目录
文件管理常用指令
(1) ctrl c: 取消命令(用来终止当前命令),并且换下一个命令行
(2) ctrl u: 清空本行命令(命令打很长,但不对想全部删掉重写命令时用)
(3) tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选项
(4) ls: 列出当前目录下所有文件,蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件
ls -l
:可显示详细信息;ls -lh
:人性化详细显示;ls -a
:显示所有文件,包括隐藏文件(以.开头的文件);- l、h、a 可随意连接组合,例如 -la、-lh、-lah.
(5) pwd
: 显示当前路径
(6) cd XXX
: 进入XXX目录下, cd … 返回上层目录
(7) cp XXX YYY
: 将XXX文件复制成YYY,XXX和YYY可以是一个路径,比如…/dir_c/a.txt,表示上层目录下的dir_c文件夹下的文件a.txt
- cp a b -r :把a目录整个复制到b目录里
(8) mkdir XXX
: 创建目录XXX
(9) rm XXX
: 删除普通文件; rm XXX -r: 删除文件夹
(10) mv XXX YYY
: 将XXX文件移动到YYY,和cp命令一样,XXX和YYY可以是一个路径;重命名也是用这个命令
(11) touch XXX
: 创建一个文件
(12) cat XXX
: 展示文件XXX中的内容
(13) 复制文本
windows/Linux下:Ctrl + insert,Mac下:command + c
(14) 粘贴文本
windows/Linux下:Shift + insert,Mac下:command + v
系统状况
top
:查看所有进程的信息(Linux的任务管理器)
- 打开后,输入M:按使用内存排序
- 打开后,输入P:按使用CPU排序
- 打开后,输入q:退出
df -h
:查看硬盘使用情况
free -h
:查看内存使用情况
du -sh
:查看当前目录占用的硬盘空间
ps aux
:查看所有进程
kill -9 pid
:杀死编号为pid的进程
- 传递某个具体的信号:
kill -s SIGTERM pid
netstat -nt
:查看所有网络连接
w
:列出当前登陆的用户
ping www.baidu
:检查是否连网
文件权限
chmod
:修改文件权限
chmod +x xxx
:给xxx添加可执行权限
chmod -x xxx
:去掉xxx的可执行权限
chmod 777 xxx
:将xxx的权限改成777
chmod 777 xxx -R
:递归修改整个文件夹的权限
文件检索
find /path/to/directory/ -name '*.py'
:搜索某个文件路径下的所有*.py文件
grep xxx
:从stdin中读入若干行数据,如果某行中包含xxx,则输出该行;否则忽略该行。
wc
:统计行数、单词数、字节数
- 既可以从stdin中直接读入内容;也可以在命令行参数中传入文件名列表;
- wc -l:统计行数
- wc -w:统计单词数
- wc -c:统计字节数
tree
:展示当前目录的文件结构
tree /path/to/directory/
:展示某个目录的文件结构
tree -a
:展示隐藏文件
ag xxx
:搜索当前目录下的所有文件,检索xxx字符串
cut
:分割一行内容
- 从stdin中读入多行数据
- echo $PATH | cut -d ‘:’ -f 3,5:输出PATH用:分割后第3、5列数据
- echo $PATH | cut -d ‘:’ -f 3-5:输出PATH用:分割后第3-5列数据
- echo $PATH | cut -c 3,5:输出PATH的第3、5个字符
- echo $PATH | cut -c 3-5:输出PATH的第3-5个字符
sort
:将每行内容按字典序排序
- 可以从stdin中读取多行数据
- 可以从命令行参数中读取文件名列表
xargs
:将stdin中的数据用空格或回车分割成命令行参数
find . -name '*.py' | xargs cat | wc -l
:统计当前目录下所有python文件的总行数
查看文件内容
more
:浏览文件内容
- 回车:下一行
- 空格:下一页
q
:退出
less
:与more类似,功能更全
- 回车:下一行
y
:上一行- Page Down:下一页
- Page Up:上一页
q
:退出
head -3 xxx
:展示xxx的前3行内容
- 同时支持从stdin读入内容
tail -3 xxx
:展示xxx末尾3行内容
- 同时支持从stdin读入内容
用户相关
history
:展示当前用户的历史操作。内容存放在~/.bash_history中
工具
md5sum
:计算md5哈希值
- 可以从stdin读入内容
- 也可以在命令行参数中传入文件名列表;
time command
:统计command命令的执行时间
ipython3
:交互式python3环境。可以当做计算器,或者批量管理文件。
! echo "Hello World"
:!
表示执行shell
脚本
watch -n 0.1 command
:每0.1秒执行一次command命令
tar
:压缩文件
tar -zcvf xxx.tar.gz /path/to/file/*
:压缩tar -zxvf xxx.tar.gz
:解压缩
diff xxx yyy
:查找文件xxx与yyy的不同点
安装软件
sudo command
:以root身份执行command命令
apt-get install xxx
:安装软件
pip install xxx --user --upgrade
:安装python包
vim教程
功能:
(1) 命令行模式下的文本编辑器。
(2) 根据文件扩展名自动判别编程语言。支持代码缩进、代码高亮等功能。
(3) 使用方式:vim filename
如果已有该文件,则打开它。
如果没有该文件,则打开个一个新的文件,并命名为filename
模式:
(1) 一般命令模式
默认模式。命令输入方式:类似于打游戏放技能,按不同字符,即可进行不同操作。可以复制、粘贴、删除文本等。
(2) 编辑模式
在一般命令模式里按下i,会进入编辑模式。
按下ESC会退出编辑模式,返回到一般命令模式。
(3) 命令行模式
在一般命令模式里按下:/?三个字母中的任意一个,会进入命令行模式。命令行在最下面。
可以查找、替换、保存、退出、配置编辑器等。
操作:
(1) i:进入编辑模式
(2) ESC:进入一般命令模式
(3) h 或 左箭头键:光标向左移动一个字符
(4) j 或 向下箭头:光标向下移动一个字符
(5) k 或 向上箭头:光标向上移动一个字符
(6) l 或 向右箭头:光标向右移动一个字符
(7) n:n表示数字,按下数字后再按空格,光标会向右移动这一行的n个字符
(8) 0 或 功能键[Home]:光标移动到本行开头
(9) $ 或 功能键[End]:光标移动到本行末尾
(10) G:光标移动到最后一行
(11) :n 或 nG:n为数字,光标移动到第n行
(12) gg:光标移动到第一行,相当于1G
(13) n:n为数字,光标向下移动n行
(14) /word:向光标之下寻找第一个值为word的字符串。
(15) ?word:向光标之上寻找第一个值为word的字符串。
(16) n:重复前一个查找操作
(17) N:反向重复前一个查找操作
(18) :n1,n2s/word1/word2/g:n1与n2为数字,在第n1行与n2行之间寻找word1这个字符串,并将该字符串替换为word2
(19) :1,
s
/
w
o
r
d
1
/
w
o
r
d
2
/
g
:将全文的
w
o
r
d
1
替换为
w
o
r
d
2
(
20
)
:
1
,
s/word1/word2/g:将全文的word1替换为word2 (20) :1,
s/word1/word2/g:将全文的word1替换为word2(20):1,s/word1/word2/gc:将全文的word1替换为word2,且在替换前要求用户确认。
(21) v:选中文本
(22) d:删除选中的文本
(23) dd: 删除当前行
(24) y:复制选中的文本
(25) yy: 复制当前行
(26) p: 将复制的数据在光标的下一行/下一个位置粘贴
(27) u:撤销
(28) Ctrl + r:取消撤销
(29) 大于号 >:将选中的文本整体向右缩进一次
(30) 小于号 <:将选中的文本整体向左缩进一次
(31) :w 保存
(32) :w! 强制保存
(33) :q 退出
(34) :q! 强制退出
(35) :wq 保存并退出
(36) :set paste 设置成粘贴模式,取消代码自动缩进
(37) :set nopaste 取消粘贴模式,开启代码自动缩进
(38) :set nu 显示行号
(39) :set nonu 隐藏行号
(40) gg=G:将全文代码格式化
(41) :noh 关闭查找关键词高亮
(42) Ctrl + q:当vim卡死时,可以取消当前正在执行的命令
异常处理:
每次用vim编辑文件时,会自动创建一个.filename.swp的临时文件。
如果打开某个文件时,该文件的swp文件已存在,则会报错。此时解决办法有两种:
(1) 找到正在打开该文件的程序,并退出
(2) 直接删掉该swp文件即可