之前租用了腾讯云的服务器,用来学习web安全,因为要搭建的是lamp环境 所以linux的基本操作必须要会,今天趁着在linux中搭建网站,学了一些基本操作,不写下来,总觉得不熟悉。
Linux cp命令主要用于复制文件或目录。
语法:cp [options] source dest
参数说明:
实例
使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下,输入如下命令:
$ cp –r test/ newtest
更详细的cp命令请查看:https://www.cnblogs.com/gongxq/p/5802718.html
Linux mv命令用来为文件或目录改名、或将文件或目录移入其它位置。
语法:mv [options] source dest
参数说明:
mv参数设置与运行结果:
命令格式 | 运行结果 |
---|---|
mv 文件名 文件名 | 将源文件名改为目标文件名 |
mv 文件名 目录名 | 将文件移动到目标目录 |
mv 目录名 目录名 | 目标目录已存在,将源目录 移动到目标目录;目标 目录不存在则改名 |
mv 目录名 文件名 | 出错 |
查看更详细的mv操作请访问:https://www.cnblogs.com/piaozhe116/p/6084214.html
快捷键:
Ctrl+c
在命令行下起着终止当前执行程序的作用,
Ctrl+d
相当于exit命令,退出当前shell
Ctrl+s
挂起当前shell(保护作用很明显哦)
4.
Ctrl+q
解冻挂起的shell再不行就重新连接打开一个终端,reboot linux 或 kill 相关进程。
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
一、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
创建文件【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是保存后退出,加感叹号是表示强制
首先 启动Vim
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
底线命令模式:
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号)
vim编辑器几种退出的形式
点击Esc键退出编辑模式,进入命令模式,and than
:q —–) 退出 eq quit (正常退出,在没有编辑的情况下)
:q! —-)不保存退出 eq quit!(在编辑出现错误的情况下)
:wq —–)写入文件并退出 eq writequit
*:wq! —退出时写入与否取决于文件的权限,有写权限写入并退出,没有写权限就强制退出
:x —-)等同于:wq,写入与否取决于文件是否变动
:qa —-)退出全部 eq quitall
按ESC键可随时退出底线命令模式。
当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录;这时就想到用source命令,如:source /etc/profile
对source进行了学习
source命令:
source命令也称为“点命令”,也就是一个点符号(.),是bash的内部命令。
功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句
source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
用法:
source filename 或 . filename
source命令(从 C Shell 而来)是bash shell的内置命令;点命令(.),就是个点符号(从Bourne Shell而来)是source的另一名称。
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行。
cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。
curl -V(大写)查看curl的版本和该版本支持的协议,如下图
curl的常见用法请查阅此博客:https://www.jb51.net/article/118402.htm
或者查看百度 https://baike.baidu.com/item/curl/10098606?fr=aladdin
pwd是Print Working Directory的缩写,其功能是显示当前所在工作目录的全路径。主要用在当不确定当前所在位置时,通过pwd来查看当前目录的绝对路径。
pwd命令语法
pwd [选项]
参数:
-L:--logical,显示当前的路径,有连接文件时,直接显示连接文件的路径,(不加参数时默认此方式),参考示例1。
-p:--physical,显示当前的路径,有连接文件时,不使用连接路径,直接显示连接文件所指向的文件,参考示例2。 当包含多层连接文件时,显示连接文件最终指向的文件,参考示例3。
--help:显示帮助信息。
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
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:创建文件以及写入文件内容的用法:
注意:创建文件的时候要设置文件结束标志,也就是< C:追加文件内容的用法: 注意:与创建文件内容不同的是符号单边号>变成了双边号>> 更多参考链接: https://www.cnblogs.com/fabulousyoung/p/4079759.html http://www.runoob.com/linux/linux-comm-cat.html 查看当前用户是谁,如下 首先说一下文件的权限 我们在用ls -all或ls -ll或ll命令查看一个文件的信息时,分为7段,第一段中为10个字母,第一个字母代表文件的类型 (-:普通文件,d:目录文件,l:链接文件,b:块设备文件,c:字符设备文件,p:管道文件)接下来的9个字母分别代表相应的权限: 第二段是文件的链接数, 修改文件的权限有两种方式 1.chomd【who】【+,-,=】[mode]文件 2.chmod abc 文件名 如 chomd 777 file 将file的文件权限设置为777 参考链接 https://www.cnblogs.com/lhm166/articles/6605059.html https://blog.csdn.net/jin970505/article/details/78422468 ~在Linux中代表用户主目录 对一般用户,~表示/home/(用户名) 对于root用户,~表示/root cat ~/.bash_history 查看~用户保存的500的历史命令 参考链接 https://www.cnblogs.com/jiu0821/p/6244313.html https://blog.csdn.net/chinalinuxzend/article/details/1849419?utm_source=blogxgwz1 https://blog.csdn.net/pan_tian/article/details/7715436 linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法 echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。 如下图 功能说明:显示文字。 输出信息 显示结果定向至文件 更多资料查阅 https://www.cnblogs.com/Spiro-K/p/6360489.html https://www.cnblogs.com/ZhangShuo/articles/1829589.html ----------------------------------------------------未完待续--------------------------------------------15.whoami命令
16.chomd命令
第三段是文件的属主
第四段是文件的属组(具有相同权限的用户组成的逻辑单元)
第五段是文件的大小
第六段是文件最后的修改时间
第七段是文件的名字
who可取u|g|o|a,user,group,others,all
+ | - | = 分别表示增加 减少 等于(相应的权利)
mode 可取 r,w,x;
chmod o+x,g+w file2表示 将file2的others权限增加可执行,group权限增加可写;
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。17 cat ~/.bash_history
18.echo 命令
该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
语 法:echo [-ne][字符串]或 echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
参 数:-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
–help 显示帮助
–version 显示版本信息echo -e "OK! \n" # -e 开启转义
echo "It it a test"
OK!
It it a test
echo "It is a test" > myfile