Unix指令和vim编辑器指令

【原创博文,转载请注明出处!】
一些比较常用的Unix指令和vim指令,很长一段时间不用就遗忘了,每次写脚本的时候还需要去网上🔍一下,索性我就开一篇博客,把一些常用的都记下来,常言道:“好记性不如烂笔头”嘛😁。日后工作中用到新的指令再慢慢更新过来~

【上篇】Unix指令

cd ~ ( 'cd' <=> change directory )回到根目录所在位置;
cd - 回到上次目录所在位置;
pwd 显示当前位置的路径;

ls -a(显示包含目标目录下的隐藏文件。以".a"开头命名的文件会自动隐藏,正常模式下我们看不到);
ls -l (以列表形式显示);
ls -h (以合适的单位来显示文件大小);
ls -a -l -h (等效于ls -alh,命令的顺序不影响作用,例如:ls -a -l -h 等效于 ls -a -h -l);
llls -la 命令等效;

文件或文件夹操作(剪切、复制、删除、打开)

mkdir -p A 创建文件夹A, mkdir也可以创建嵌套的文件夹,如下:
mkdir -p A/B/C/D (Linux下是mkdir A/B/C/D -p),表示在A文件夹下的B文件夹下的C文件夹下创建D文件夹。关于-p指令的作用:如果其中有某个层级不存在,系统会自动帮我们创建缺少的层级(例如A文件夹下面没有B,也就不存在C文件夹了,这个时候系统自动帮我们在A下创建B,然后在B下创建C,再在C下创建文件夹D)。

cp me.txt A/B/me.txt复制到当前目录下的路径A/B/中;

mv指令的两点作用:
mv A AA 将文件夹A改名为AA,mv也可以修改文件的名称mv 2.txt file.txt表示将文件2.txt重命名为file.txt;
mv me.txt AA/ 将'me.txt'文件移动到当前目录下的路径AA/中;

rm 删除指令(rm 就是 remove的缩写形式);
删除文件夹时使用 rm + 文件夹名,一般提示无法删除,需要使用rm -r 文件夹名or文件名,例如rm -r D(Linux系统是rm D -r,可以通过rm —help指令查看rm指令在该系统下有哪些操作指令,没必要强记),表示删除D文件夹。 -r指令其实就是递归删除。

open 文件名 打开文件(打开后可以自由编辑。在Linux上,可以使用gedit指令打开文件并自由编辑,可惜Unix上面没有gedit)。[Tips:倘若该文件名太长不方便输入,可以敲入文件名的前1~n个字母,然后按tab键,终端会智能匹配最合适的文件名]
open 文件夹名称 显示文件夹。例如:open Test,会打开Finder显示当前目录下的Test文件夹,功能类似于show in Finder
也可以使用通配符指令,如:open *.txt打开当前目录下的所有.txt文件。

cat 文件名 查看文件内容,直接将文件内容显示在终端上面;

touch file.txt 新建一个file.txt文件。如果需要编辑,可以使用open file.txt 命令打开文件,然后自由编辑。也可以使用gedit(Unix上面gedit指令无效😂);

history 指令用于查看历史指令记录。所有近期使用的指令都会按先后顺序列举出来,如 :

...省略前面n多条指令...
555 ..............................
566  cat vimTest.txt 
567  ls
568  open vimTest.txt 

此时,我们可以通过 ! 序号 (例如:!568),我们自己的terminate此时即执行对应需要的指令,这里!568表示 终端列表上面第568条指令,即open vimTest.txt指令。

不常用的指令

获取unix内存页的大小(pagesize) getconf PAGE_SIZE

通配符

通配符有两种:
① *, *可以匹配0~n位;
② ?, ?只能匹配一位;
ls 1[1234]1.txt 也是通配符,表示只通配111.txt、121.txt、131.txt、141.txt这几个选项;
ls 1[1-4]1.txt 等价于ls1[1234]1.txt,都表示中间只能是111.txt、121.txt、131.txt、141.txt这几个选项。

重定向

ls > xxx.txt 表示将当前文件夹下面ls指令应该显示出来的信息输入到xxx.txt文件中;
ls -alh > xxx.txt "ls -alh"指令应该显示的信息输入到xxx.txt文件中;
ls -alh >> xxx.txt 追加文件内容到xxx.txt中;
>>>的异同点:
相同点:如果之前的文件xxx.txt不存在,这两者都会新建一个xxx.txt文件的。
不同点:>>会往文件中追加内容,> 会覆盖原来的文件中的内容。

more 命令

ls | more指令可以结合使用。这样可以不通过重定向这一步骤将文件写入到指定的文档中再查看。直接ls | more可以翻页查看,|表示通道的意思。

ls ; ls -alh 多个命令一起使用的时候,中间用;(英文分号)隔开;但是一般不这样用,毕竟低效嘛(这就好比买了辆法拉利,在高速上面开20km/h😸)

control c 撤销已经输入的指令(不执行已输入的指令。情景:一段指令输入错误,由于指令太长,删除起来麻烦,可以直接control+c另起一行,重新输入)。友情提示:control+c会不会与系统的热键重复?比如Mac上面QQ的截图功能就是control+c,如果想使用该键,可以在QQ的偏好设置中修改QQ的截图热键。

cat a.txt b.txt >> c.txt (将a.txt 与b.txt文件内容合并到c.txt文件中,如果c.txt不存在,就自动创建c.txt)

grep "1" c.txt 在c.txt中查找含1的字段;
grep "^1" c.txt 在c.txt中查找开头为1的字段;
grep "xt$" c.txt 在c.txt中查找末尾为xt的字段;

A7015A2163B61EF79E521483505D737F.png
10F512B115173D380BC47BECF41B9AB7.png
9761C3B565C63094D3847ED8EBA7D64F.png
E3B832AA051BFAC9243735C7BC4A5D05.png
CAF60FB086C153556A00FE4D70E6E358.png
03C87ABAAAFE1023181CD585A986E5F5.png
软链接和硬链接

ln -s file.txt soft-link.txt 为file.txt创建一个软链接,软链接名称为 soft-link.txt;
ln -s file.txt soft-link.txt

cat b.txt >> c.txt 将b.txt文件内容追加到c.txt中;

echo "I am fine!" >> me.txt 写入一段连续的字符串到me.txt文件中;

cat << EOF >> me.txt 
> I am fine.
> Thanks.
> Have a good trip.
> EOF  

通过cat << EOF EOF的形式可以借助终端写入多段内容到me.txt中。

grep指令

grep 用来从文件里面搜内容

B9CA563D2AE54D79BCAA0B8EB8DCAE04.png
打包、解包、压缩、解压缩指令

tar -cvf test.tar *.txt 打包(test.tar打包后文件名, *.txt 该目录下需要打包的文件类型)
tar -xvf test.tar 解包

tar -zcvf test.tar.gz *.txt 压缩(test.tar压缩后文件名, *.txt 该目录下需要压缩的文件类型)
tar -zxvf test.tar.gz 解压缩;

tar -jcvf test.tar.bz2 *.txt 这种方式压缩后体积比.gz方式的大一点;
tar -jxvf test.tar.bz2 解压缩;

zip test.zip *.txt .zip方式的压缩;
unzip test.zip .zip解压缩命令;

unzip -d ./test test.zip -d + ./xxx 指令表示支持解压到当前目录中test文件夹下;

tar -zxvf test.tar.gz -C ./GZ (tar.gz方式解压到指定路径)

unzip -d ZIP test.zip (zip方式解压到指定路径)

date "+%T-%Y-%m-%d"

FE4BA2115BF833E1C79573739BEA1C4B.png
查看程序占用内存情况

ps aux 查看内存占用情况,不直观;
top 查看内存使用情况(直观);
kill -9 内存PID号 强制杀掉PID号对应的进程;

文件权限基础及操作

drwxr-xr-x 5 zhouyong staff 160B 4 21 14:28 BZ2
拥有者 u
同组者 g
其让人 o
chmod u=rx c14.txt
chmod u=r,g=r,o=r c14.txt (同时设置拥有者、同组者、其他人的权限)

chmod 修改文件权限,有两种方式:
① "字母法",也就是上述 u、g、o;
② “数字法”,其中r w x位分别用 4 2 1数字表示有效,则指令chmod 7 4 1 test.txt表示设置 test.txt文件的权限等价为:chmod u = rwx,g=w,o=x test.txt

系统重启、关机(定时)

sudo shutdown -h now 立即关机;
sudo reboot 重启计算机;
sudo shutdown -h +10 十分钟后自动关机;
sudo shutdown -r now 重启计算机;
sudo shutdown -r +1 一分钟后重启计算机;

【下篇】vim 指令:

vim xxx.py 打开xxx.py文件,如果xxx.py文件不存在,就自动创建一个xxx.py文件
i 表示切换到输入模式,esc退出输入模式,并切换到指令模式;
yy 复制光标所在行内容;
pp 粘贴拷贝的内容 ;

esc 回到命令模式;
a ,i均可切换到编辑模式。区别:a为在光标后面插入, i为在光标前面插入;
o命令切换到下一行;O切换到光标所在行的上一行; 命令模式A插入到光标所在行的行尾;I`插入到光标所在行的行首;

n yy (n为数字) ,表示复制光标行开始的n行。如5 yy,则从光标位置开始往下复制5行内容;
dd 删除光标所在的行。n dd(n为数字),表示从光标所在行开始往下删除n行内容;

dd 其实是剪切的功能, dd之后可以使用p粘贴剪切的内容;

光标定位功能

M 定位到屏幕可见区域中央;
L 定位到屏幕可见区域最下部;
H 定位到屏幕可见区域最上部;

control f 下一页
control b 上一页
control u 向上半屏
control d 向下半屏

n G 快速定位到第n行。
n G 快速定位到第n行代码。如18G快速定位到第18行
G 快速回到整个代码最后一行;
gg 快速回到代码的第一行;

w, 以单词进行划分,向后跳一个单词的长度,调到下一个单词的开头;
b,向前跳一个单词的长度,调到上一个单词的开头;

D 从当前的光标开始剪切,一直到行末;
d0 从当前光标开始剪切,一直到行首;

u 撤销刚刚的操作;
control r 反撤销;
x 删除当前的光标后面的元素,每次只删除一个元素;
X 删除当前光标前面的元素,每次只删除一个元素;

选中一片代码:

v
V
>> 向右移动代码;
<< 向左移动代码;
. 重复执行上一次命令。

{ 跳到光标所在段的段首;
} 跳到光标所在段的段尾;

dw 删除光标所在位置的这个单词的,光标的后面字符,包含光标所在的字符(有点绕口😅);

r 替换当前字符;
R 替换当前行光标后的字符;

查找命令:

/ str查找
n 下一个
N 上一个

替换:

:%s/hello/hi/g 将hello全部替换为hi;
:11,16s/hello/hi/g 将line11~line16中的hello全部替换为hi;

哈哈哈,半个vim大神了😄😄😁

末行模式:

click ESC 键进入命令模式,输入:,然后搭配以下几个命令可以达到保存或退出的目的🏄🏄🏄🏄🏄
w保存
q 退出
wq 保存并退出

shift zz 相当于wq

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容