Linux常用命令
关于Linux命令太多了,实际用得到的也就是那么几个(但是我还是记不住),自己总结下,随用随看(我是小白。。。。)
持续更新ing
-
set nu :输set n后,会在文件中的每一行前面列出行号。
-
set nonu :取消行号
-
dd :删除光标所在行。
-
#dd :从光标所在行开始删除#行 15dd。注意的是:当你15dd完了之后,按p会粘贴你所删除的内容,也就是剪切
-
yw :将光标所在之处到字尾的字符复制到缓冲区中。yw p
-
#yw:复制#个字到缓冲区== 6yw p==
-
yy:复制光标所在行到缓冲区。yy p
-
#yy :例如「6yy」表示拷贝从光标所在的该行"往下数"6行文字。6yy p
-
p:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。
-
r:替换光标所在处的字符。一次替换
-
R:替换光标所到之处的字符,直到按下「ESC」键为止。** 多次替换**
-
u:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回复。
-
ctrl+g :列出光标所在行的行号。
-
#G :例如「15G」,表示移动光标至文章的第15行行首。
-
#:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
-
/关键字:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
-
?关键字:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
-
. 这个小数点,是重复上一个动作的意思。
-
q是退出,q!是强制退出,w是保存,wq是保存后退出,wq!是强制保存离开
-
cat 文件名,在终端页面查看文件内容。
-
cat -n 文件名,通过n参数,在查看文件时可以显示出行号
-
cat 文件名 | more
加上| more后,不会把整个文件的内容输出到控制台,而是把文件内容一部分输出到控制台,可以按回车键查看下一行,按空格查看下一页,按q键停止查看(适用于查看比较大的文件) -
多行缩进
方法1,esc退出输入 :53>5表示从第53行开始,向下连续5行向右缩进一个tab(行号是:set nu,前面有)(>向右缩进tab,<向左缩进tab)
方法2,esc退出,ctrl+v,显示可视模块,用上下左右箭头选择范围,再利用>、<向右向左缩进 -
重命名
rename main1.c main.c(rename 新文件名 旧文件名)
mv 旧文件名/目录 新文件名/目录(mv a b 将a重命名为b) -
touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。ls -l 可以显示档案的时间记录。
-
man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。-a:在所有的man帮助手册中搜索;可以用数字指定,通常man 1是普通的shell命令,比如ls
man 2是系统调用函数,比如open,write说明 -
gg=G 自动格式化按esc 直接gg=G(别加:) 然后会出现 行数 lines indented
-
vimdiff 快速比较和合并少量文件,比如vimdiff demo1.c demo2.c,这是比较两个文件的差异,打开两个图形框(我感觉比较鸡肋。。),同时退出就是执行 :qa(quit all),不想保存就在后面+!:qa!。
-
gcc -o 产生目标(.i、.s、.o、可执行文件等)
gcc -g 在目标文件中嵌入调试信息,以便gdb之类的调试程序调试 -
ps是Linux下查看进程的命令
ps -aux 查看全部进程
pa -aux|grep 进程名 ,,,,这是在所有进程中过滤掉不含有你输入的进程名的进程
比如:pa -aux|grep init 在所有进程中只显示含有init的进程 -
top 这个和windows下的任务管理器相似,和30.功能一样,也是查看进程的
-
删除命令 rm [选项] 文件或目录
选项:
-f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录。
-i:和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。
-r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件
单个文件:rm -f + 文件名
文件夹:rm -rf + 路径/目录名,强制删除文件夹及其子文件 -
scp传输 scp 命令是用于通过 SSH 协议安全地将文件复制到远程系统和从远程系统复制文件到本地的命令。使用 SSH 意味着它享有与 SSH 相同级别的数据加密,因此被认为是跨两个远程主机传输文件的安全方式。
scp [option] /path/to/source/file user@server-ip:/path/to/destination/directory
/path/to/source/file – 这是打算复制到远程主机的源文件。
user@server-IP: – 这是远程系统的用户名和 IP 地址。请注意 IP 地址后面加冒号。
/path/to/destination/directory – 这是文件将复制到的远程系统上的目标目录。
以下是scp命令常用的几个选项:
-C - 这会在复制过程中压缩文件或目录。
-P - 如果默认 SSH 端口不是 22,则使用此选项指定 SSH 端口。
-r - 此选项递归复制目录及其内容。
-p - 保留文件的访问和修改时间。
举例:scp demo1.c SXH@192.168.2.42:/home/SXH/raspberry
-
辨识文件类型file
file [-bcLvz][-f <名称文件>]
-b 列出辨识结果时,不显示文件名称。
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-L 直接显示符号连接所指向的文件的类别。
-v 显示版本信息。
-z 尝试去解读压缩文件的内容。 -
查找命令grep
举例:grep gcc * -nir
gcc是我们要查找的命令或者文件
星号是匹配所有的指令或者文件
-n是显示行号
-i 不区分大小写
-r是递归,一层层目录找进去
history | grep demo.c
将敲过的指令history作为源流向管道,查找demo.c -
Linux du (英文全拼:disk usage)命令用于显示目录或文件的大小。du 会显示指定的目录或文件所占用的磁盘空间。
-c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-h或–human-readable 以K,M,G为单位,提高信息的可读性。
-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。 -
MD5算法可以用来验证网络文件传输的完整性。Linux的md5sum命令便用于生成和校验文件的md5值。需要注意的是,md5sum检验的是文件内容,而不是文件名。
md5sum 文件名
md5sum常用于拷贝过程中有无损坏,如有损坏,校验值会发生变化。
比如:2ea0ba87bec721954fc2231378ee4476 /home/sxh/data1/kernel7.img
2ea0ba87bec721954fc2231378ee4476 kernel_new.img
文件的值一致,由此拷贝无误 -
挂载文件系统
mount [选项] [设备名] [目录]
-t 指定文件系统类型
-r 只读模式
-w 可读可写模式
mount /dev/sda3 /mnt/vista/
mount -o loop CentOS-7-x86_64-DVD-1511.iso /home/iso/
卸载文件系统
umount /mnt/vista/
#-r 如果下载失败则以只读方式重载挂载
-
lsblk命令的英文是“list block”,即用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。
还有一点在这篇里:四、Linux常用命令