linux常用命令--(不断更新)
一、Linux命令
clear(快捷键ctrl+l) ---- 清屏
ps -aux ---- 查看所有进程
!XXX ---- 运行最近一次以XXX开头的命令
!n ---- 运行第n个历史命令
向上/向下箭头 ---- 查看上/下一个历史命令
ctrl+c ---- 可以退出选择历史命令
ctrl+insert ---- 复制
shift+insert ---- 粘贴
which [命令] ---- 查看 执行命令所在位置
find [路径] -name "*.py" --- 查找指定路径下 以.py结尾的文件,包括子目录
省略路径表示当前路径下查找
ln ---- 软连接
硬链接:即使原文件被删除,硬链接依旧可以正常使用
区别:
软连接文件名-->连接路径-->文件名(删除) 硬链接:又起了一个名字,当没有文件名字指向文件时,才会真的删除
apt-get ---- Advanced packaging tool ,是Linux下一款安装包管理工具,可以在终端中方便的安装/卸载/更新软件包
配置软件源:
重新载入。
二、目录相关命令
以 .开头的隐藏文件,需要加 -a 才可以查看;.表示当前目录;..表示上级目录。
touch 文件名 如果文件不存在,新建一个。如果存在,修改文件末次修改时间。
mkdir -p 可以递归创建文件夹,不能与当前已存在的文件或者文件夹同名
rm 直接从磁盘删除,不能恢复。
-f 强制删除,忽略不存在的,不提示。-r 递归删除,删除文件夹必须加。
也可以使用通配符删除 慎用。
1、可以写成 ls -l -h -a ,也可以写成 ls -lha或者 ll -ha 。与字母先后顺序无关。
如果该目录下文件过多,可以用通配符快速定位:
2、cd ---- 切换目录
cd XXX按tab ---- 自动补全XXX
cd XXX 按tab tab ---- 查看XXX开头的目录
3、tree[目录名] --- 以树状图列出文件目录结构 -d 只显示目录
4、 cp ---- 拷贝文件或者文件夹
格式:cp 源文件 目的路径/新文件名(不修改可以不写)
-i 覆盖文件前提示
-r 递归复制,复制文件夹必须加,不存在新的目录会创建
5、 mv ---- 移动、重命名
-i 覆盖前提示
6、 cat ---- 查看文件的所有内容,适合查看内容较少的文件
-b 显示有内容的行号
-n 显示所有行行号
7、 more --- 分屏查看文件内容,适合长文件内容
类似于man。
8、 grep ---- 强大的文本搜索工具,允许进行模式查找,就是可以正则匹配
如:grep -in ^div XXX文件
9、 echo ---- 会在终端显示参数指定的文字,通常和重定向一块使用
10、 重定向:允许将命令执行结果重定向到一个文件
> ---- 输出,会覆盖原有内容
>> ---- 追加,会将结果追加到已有文件末尾
echo hello > b 创建一个内容为hello的b文件。
11、 管道:将一个命令的输出 可以通过管道 作为 另一个命令的输入
| ---- 左端写东西,右端取东西
常用的管道命令:
more --- 分屏显示内容 如:ls -lh|more
grep ---- 在命令执行结果的基础上查询指定的文本 如:ls -lh | grep mysql 查询该文件下 包含mysql的文件或文件夹
12、打包压缩
tar ---- 打包/解包 不负责压缩(z/j)
-cvf 打包文件名.tar 被打包的文件路径 打包
-xvf 文件名.tar 解包
把分散文件打包
gzip --- 压缩/解压缩
tar和gzip合用可以实现打包和压缩
用gzip压缩打包好的tar包,其扩展名一般用XXX.tar.gz
在tar命令中有一个选项 -z可以调用gzip
bzip2 ---- 压缩/解压缩
zip ---- 打包
zip [-r] 打包后的文件名.zip 打包路径
unzip ---- 解包
unzip 文件.zip -d 路径
三、编辑文件
vi/vim 文件名 ---- visual interface编辑指定文件
0或^。
自己试验没生效。
vim = vi improved 编辑器之神,支持代码补全、编译及错误跳转等丰富功能。
vim 文件名 +n ---- 打开文件并定位到第n行,不指定n只有+会定位到末尾,没有+n就会定位在文首。
未保存强制或者异常退出,删除.XXX.swp 交换文件。按字母D删除。
在命令模式下,: ---- 进入末行模式
在末行模式下,w ---- write保存
在末行模式下,q ---- quit 退出,如果没有保存,不允许退出
在末行模式下,q! ---- 强制退出,不保存退出
在末行模式下,wq ---- write & quit 保存并退出
在末行模式下,x ---- 保存并退出
在命令模式下,ZZ ---- 保存退出
在命令模式下,n+命令 ---- 重复执行命令n次
如yyp复制粘贴,按10再按yyp就会复制10次
在命令模式下,G ---- 快速定位到文末
在命令模式下,gg ---- 快速定位到首行
在命令模式下,n+G/n+gg/:n ---- 快速定位到第n行,常用g
在命令模式下,{ ---- 跳转到上一个段落,(一个空行分隔为段落)
在命令模式下,} ---- 跳转到下一个段落
在命令模式下,% ---- 可以快速定位到成对的括号的另一个。
在命令模式下,v ---- 进入可视模式
在命令模式下,V ---- 进入可视行模式
在命令模式下,ctrl+v ---- 进入可视块模式
可视模式可以和移动命令一块使用。
在可视模式下,选中要操作的行,按:输入normal i XXX enter键 ---- 在选中的行前插入XXX
多行注释:
按0或者^到行首--->按ctrl+v进入可视块--->按j选择要注释的行---->大写I 进入编辑模式 --->输入#空格--->按esc进入命令模式会统一增加#空格。
在命令模式下,x ---- cut删除光标所在字符,或者选中文字
在命令模式下,d(移动命令) ---- 需要和光标移动命令一起使用,删除移动位置对应的内容
dw ---- 删除这个单词(w移动到单词尾)
‘是m命令标记的。
在命令模式下,dd ---- 删除这一行数据,可以ndd
在命令模式下,D ---- 从光标所在位置删除至行尾
在命令模式下,u ---- undo撤销上一步操作,可以一直回撤到打开时的状态
在命令模式下,ctrl+r ---- 恢复撤销的命令
在命令模式下,y(移动命令) ---- copy复制命令,同d
在命令模式下,yy ---- 复制一行,可以nyy复制多行
在命令模式下,p ---- paste粘贴
在命令模式下,yyp ---- 复制粘贴该行
复制和粘贴,是在文本缓冲区而不是系统剪切板实现的,
d和x,本质上执行的是剪切操作,按p会粘贴之前删除的。
在其他软件中用ctrl+c复制的内容,不能vi里用p粘贴,在编辑模式下右键粘贴,才能粘贴。
在命令模式下,r ---- replace替换当前字符
在命令模式下,R ---- replace替换当前光标后的字符(修改光标后的字符),进入替换模式
替换模式不能 i直接进入编辑模式,要esc退出到命令模式才行。
在命令模式下,>> ---- 向右增加缩进,增加4个空格
在命令模式下,<< ---- 向左增加缩进
在可视模式下,只需要一个>或者<
在命令模式下,. ---- 重复上次命令
在命令模式下,/str ---- 查找str
n ---- 查找下一个
N ---- 查找上一个
在命令模式下,* ---- 查找光标所在位置的单词,向后移动
在命令模式下,# ---- 查找光标所在位置的单词,向前移动
不想看到高亮,随便查找个不存在的内容。
在命令模式下,o ---- 在光标下面插入一行,并进入编辑模式
在命令模式下,O ---- 在光标上面插入一行,并进入编辑模式
查找以及替换的命令:命令格式 :%s///g
a、全局替换
一次性替换文件中的 所有出现的旧文件
命令格式:%s/旧文本/新文本/g
b、可视区域替换
先选中要替换文字的范围
命令格式:s/旧文本/新文本/g
c、确认替换(推荐)
把末尾的g换成gc(confirm确认),在替换的时候就会有提示
命令格式:%s/旧文本/新文本/gc
ctrl+e 向下滚屏。ctrl+y 向上滚屏。
在末行命令下,:e[文件名]或者. ---- edit编辑 该文件 或者 浏览当前目录下的文件(会打开内置的文件浏览器)
如果当前的文档正在编辑没有保存,e命令不允许切换。:w写入
在末行命令下,:n新建的文件名 ---- new 新建文件
在末行命令下,:w文件名 ---- 另存为,但是仍然编辑当前文件,并不会切换文件
分屏命令:
使用分屏命令,可以同时编辑和查看多个文件
:sp[文件名] ---- split 横向增加分屏(同样可以输入 .)
:vsp[文件名] ---- vertical split 纵向增加分屏
切换分屏窗口:
窗口的操作都要先按ctrl+w。再按下面
w ---- window 切换到下一个窗口
r ---- reverse 互换窗口
c ---- close 关闭当前窗口,但是不能关闭最后一个窗口
q ---- quit 退出当前窗口,如果是最后一个窗口,则关闭vi
o ---- other 关闭其他窗口
四、远程管理相关命令
1、关机/重启
shutdown 选项 时间
-r 重启
2、查看或配置网卡信息
3、远程和复制文件
ssh 用户名@IP port
在服务器上安装一个ssh服务器软件,在电脑上安装一个ssh客户端。就可以远程维护服务器了。
ubantu和mac的电脑是默认安装的,windows可以安装xshell或者putty。exit退出登录。
scp:secure copy远程拷贝文件 window直接ftp拖拽就可以了
scp:可以在服务器之间复制文件
4、 免密码登录和配置别名
有关SSH配置信息都保存在用户家目录下的.ssh目录下
4.1 免密登录
4.2 配置别名
五、用户权限的设置
硬链接数
5.1 chmod 修改权限
- 减少权限,+增加权限。
5.2 用户管理
dash显示不友好。
::之间是空的是指 用户全名就是用户名。
id 不加用户名 就是当前用户。
六、系统相关命令
6.1 时间和日期
date ---- 查看系统时间
cal ---- 查看当月日历
-y 查看当年的日历
6.2 查看磁盘信息
df ---- disk free 查看磁盘剩余空间(到根目录下)
-h 人性化
du [目录名] ---- disk usage 查看目录下文件大小。不写目录名,默认当前目录。
-h 人性化
6.3 进程信息
ps aux ---- process status 查看进程的详细状况
加x查看所有的进程
user 哪个用户执行的 , PID 进程代号 , %CPU cpu占用率 , %MEM 内存占用率 ,start time 启动时间 , command 命令
top ---- 动态显示运行中的程序并且排序
退出 q。
kill [-9] 进程代号 ---- 终止指定代号的进程,-9强行终止
----------------------------------------------------------------------------------------------------