linux命令学习笔记
前言
之前租用了腾讯云的服务器,用来学习web安全,因为要搭建的是lamp环境 所以linux的基本操作必须要会,今天趁着在linux中搭建网站,学了一些基本操作,不写下来,总觉得不熟悉。
正文
1.cp命令
Linux cp命令主要用于复制文件或目录。
语法:cp [options] source dest
参数说明:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
实例
使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下,输入如下命令:
$ cp –r test/ newtest
更详细的cp命令请查看:https://www.cnblogs.com/gongxq/p/5802718.html
2.mv命令
Linux mv命令用来为文件或目录改名、或将文件或目录移入其它位置。
语法:mv [options] source dest
参数说明:
-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
-f: 在mv操作要覆盖某已有的目标文件时不给任何指示;
mv参数设置与运行结果:
命令格式
运行结果
mv 文件名 文件名
将源文件名改为目标文件名
mv 文件名 目录名
将文件移动到目标目录
mv 目录名 目录名
目标目录已存在,将源目录
移动到目标目录;目标
目录不存在则改名
mv 目录名 文件名
出错
查看更详细的mv操作请访问:https://www.cnblogs.com/piaozhe116/p/6084214.html
3.Linux命令行下如何终止当前程序
快捷键:
Ctrl+c
在命令行下起着终止当前执行程序的作用,
Ctrl+d
相当于exit命令,退出当前shell
Ctrl+s
挂起当前shell(保护作用很明显哦)
4.
Ctrl+q
解冻挂起的shell再不行就重新连接打开一个终端,reboot linux 或 kill 相关进程。
5.mkdir命令
1.mkdir命令使用权限
所有用户都可以在终端使用mkdir命令在拥有权限的文件夹创建目录
2.mkdir命令使用格式
mkdir [选项] DirName
3.mkdir命令功能
通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的目录。要创建目录的用户必须对所创建目录的父目录具有写权限(了解Linux文件-文件夹权 限请点击这里)。并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写)。
4.mkdir命令选项说明
命令中的[选项]一般有以下两种:
-m 用于对新建目录设置存取权限,也可以用 chmod 命令进行设置。
-p 需要时创建上层文件夹(或目录),如果文件夹(或目录)已经存在,则不视为错误。
5.mkdir命令使用举例
例一:在桌面下面创建以“demo”命名的文件夹。
使用以下命令即可。
mkdir 桌面/demo
例二:在桌面下面创建以“demo”命名的文件夹,并且给文件夹赋权限,权限为123。
mkdir 123 桌面/demo
6.rm命令
一、rm命令使用权限
所有用户都可以在终端使用 rm命令删除目录。
二、rm命令使用格式
格式:rm [选项] DirName
三、rm命令功能
删除档案及目录。
四、rm命令选项说明
命令中的[选项]一般有以下几种:
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除,递归所有的子目录,逐一询问。
五、rm命令使用举例
例一:删除所有C语言程序文档;删除前逐一询问确认。
rm -i *.c
例二:将 Finished 子目录及子目录中所有档案删除。
rm -r Finished
rm -f abc.txt的意思是说强制删除文件。如果文件不存在,也不要提示。这是因为如果直接使用rm abc.txt那么如果文件不存在,rm 会提示你。这在某些情况下,比如我们写一些小脚本,可能不需要他这样做。 rm -r abc 的意思是说递归所有的子目录。其中要求abc是一个目录名。这条rm运行后,abc目录下的所有子目录里的东西也会一同被删除。通常我们在删除一个目录时会使用rm -rf abc这样的形式,这就是说明删除目录abc,同时要求命令不要产生任何提示。
注:在linux没有回收站,在试用rm命令的时候,一定要小心些,删除之后就无法再恢复了。
源自此博客:https://blog.csdn.net/linjpg/article/details/77854671
7.vi命令
创建文件【vi】
一、进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑
二、移动光标类命令
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
三、屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
四、插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行
五、删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本
六、搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
七、vi命令使用举例
例一:创建文件a.txt。
vi a.txt
Hello everyone!
:wq //在退出时,直接输入:wq会发现退不出去,退出方法是:编辑完成后按ESC,然后输入:q就是退出;还有:wq是保存后退出,加感叹号是表示强制
8.vim 的使用
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
底线命令模式:
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号)
vim编辑器几种退出的形式
点击Esc键退出编辑模式,进入命令模式,and than
:q —–) 退出 eq quit (正常退出,在没有编辑的情况下)
:q! —-)不保存退出 eq quit!(在编辑出现错误的情况下)
:wq —–)写入文件并退出 eq writequit
*:wq! —退出时写入与否取决于文件的权限,有写权限写入并退出,没有写权限就强制退出
:x —-)等同于:wq,写入与否取决于文件是否变动
:qa —-)退出全部 eq quitall
按ESC键可随时退出底线命令模式。
9.source命令
Linux Source命令及脚本的执行方式解析
当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录;这时就想到用source命令,如:source /etc/profile
对source进行了学习
source命令:
source命令也称为“点命令”,也就是一个点符号(.),是bash的内部命令。
功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句
source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
用法:
source filename 或 . filename
source命令(从 C Shell 而来)是bash shell的内置命令;点命令(.),就是个点符号(从Bourne Shell而来)是source的另一名称。
10.tail命令
inux tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容。
一、tail命令语法
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
参数解释:
-f 该参数用于监视File文件增长。
-c Number 从 Number 字节位置读取指定文件
-n Number 从 Number 行位置读取指定文件。
-m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。
-b Number 从 Number 表示的512字节块位置读取指定文件。
-k Number 从 Number 表示的1KB块位置读取指定文件。
File 指定操作的目标文件名称
上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部開始计算。
tail可运行文件一般在/usr/bin/以下。
二、tail命令使用方法演示例子
1、tail -f filename
说明:监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。
2、tail -n 20 filename
说明:显示filename最后20行。
3、tail -r -n 10 filename
说明:逆序显示filename最后10行。
11. curl 命令
cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。
curl -V(大写)查看curl的版本和该版本支持的协议,如下图
curl的常见用法请查阅此博客:https://www.jb51.net/article/118402.htm
或者查看百度 https://baike.baidu.com/item/curl/10098606?fr=aladdin
12.pwd命令
pwd是Print Working Directory的缩写,其功能是显示当前所在工作目录的全路径。主要用在当不确定当前所在位置时,通过pwd来查看当前目录的绝对路径。
pwd命令语法
pwd [选项]
参数:
-L:--logical,显示当前的路径,有连接文件时,直接显示连接文件的路径,(不加参数时默认此方式),参考示例1。
-p:--physical,显示当前的路径,有连接文件时,不使用连接路径,直接显示连接文件所指向的文件,参考示例2。 当包含多层连接文件时,显示连接文件最终指向的文件,参考示例3。
--help:显示帮助信息。
13.touch命令
touch命令:
作用:创建空文件,或者改变文件的时间戳属性
格式: touch [option] [file]
可以同时创建一个或者多个空文件
ghostwu@dev:~/linux/mkdir$ ls
ghostwu@dev:~/linux/mkdir$ touch a.txt
ghostwu@dev:~/linux/mkdir$ ls
a.txt
ghostwu@dev:~/linux/mkdir$ touch b.txt c.txt
ghostwu@dev:~/linux/mkdir$ ls
a.txt b.txt c.txt
ghostwu@dev:~/linux/mkdir$ touch {1..5}.txt
ghostwu@dev:~/linux/mkdir$ ls
1.txt 2.txt 3.txt 4.txt 5.txt a.txt b.txt c.txt
参考链接 https://blog.csdn.net/u012294618/article/details/72616293 https://www.cnblogs.com/ghostwu/p/8976883.html
14.cat命令
cat命令主要用来查看文件内容,文件合并,追加文件内容等功能。
A:查看文件内容主要用法:
1、cat f1.txt,查看f1.txt文件的内容。
2、cat -n f1.txt,查看f1.txt文件的内容,并且由1开始对所有输出行进行编号。
3、cat -b f1.txt,查看f1.txt文件的内容,用法与-n相似,只不过对于空白行不编号。
4、cat -s f1.txt,当遇到有连续两行或两行以上的空白行,就代换为一行的空白行。
5、cat -e f1.txt,在输出内容的每一行后面加一个$符号。
6、cat f1.txt f2.txt,同时显示f1.txt和f2.txt文件内容,注意文件名之间以空格分隔,而不是逗号。
7、cat -n f1.txt>f2.txt,对f1.txt文件中每一行加上行号后然后写入到f2.txt中,会覆盖原来的内容,文件不存在则创建它。
8、cat -n f1.txt>>f2.txt,对f1.txt文件中每一行加上行号后然后追加到f2.txt中去,不会覆盖原来的内容,文件不存在则创建它。
B:创建文件以及写入文件内容的用法:
注意:创建文件的时候要设置文件结束标志,也就是<<EOF,可以把EOF换成别的字符,注意是大小写敏感的,当文件内容写完之后要输入结束标志EOF,这时命令会正确结束,表示成功创建文件并且写进内容。
C:追加文件内容的用法:
注意:与创建文件内容不同的是符号单边号>变成了双边号>>
更多参考链接: https://www.cnblogs.com/fabulousyoung/p/4079759.html http://www.runoob.com/linux/linux-comm-cat.html
---------------------
作者:white_HATmagic
来源:CSDN
原文:https://blog.csdn.net/qq_40491569/article/details/83039944
版权声明:本文为博主原创文章,转载请附上博文链接!