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 的使用

首先 启动Vim

  • vim -c cmd file: 在打开文件前,先执行指定的命令;
  • vim -r file: 恢复上次异常退出的文件;
  • vim -R file: 以只读的方式打开文件,但可以强制保存;
  • vim -M file: 以只读的方式打开文件,不可以强制保存;
  • vim -y num file: 将编辑窗口的大小设为num行;
  • vim + file: 从文件的末尾开始;
  • vim +num file: 从第num行开始;
  • vim +/string file: 打开file,并将光标停留在第一个找到的string上。
  • vim –remote file: 用已有的vim进程打开指定的文件。 如果你不想启用多个vim会话,这个很有用。但要注意, 如果你用vim,会寻找名叫VIM的服务器;如果你已经有一个gvim在运行了, 你可以用gvim –remote file在已有的gvim中打开文件。

基本上 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命令只创建文件

格式: 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命令主要用来查看文件内容,文件合并,追加文件内容等功能。注意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:创建文件以及写入文件内容的用法:

注意:创建文件的时候要设置文件结束标志,也就是<

linux命令学习笔记_第1张图片

 C:追加文件内容的用法:

注意:与创建文件内容不同的是符号单边号>变成了双边号>>

更多参考链接: https://www.cnblogs.com/fabulousyoung/p/4079759.html   http://www.runoob.com/linux/linux-comm-cat.html

15.whoami命令

查看当前用户是谁,如下

linux命令学习笔记_第2张图片

 16.chomd命令

首先说一下文件的权限

我们在用ls -all或ls -ll或ll命令查看一个文件的信息时,分为7段,第一段中为10个字母,第一个字母代表文件的类型

-:普通文件,d:目录文件,l:链接文件,b:块设备文件,c:字符设备文件,p:管道文件)接下来的9个字母分别代表相应的权限:

linux命令学习笔记_第3张图片

   第二段是文件的链接数,
   第三段是文件的属主
   第四段是文件的属组(具有相同权限的用户组成的逻辑单元)
   第五段是文件的大小
   第六段是文件最后的修改时间
   第七段是文件的名字

linux命令学习笔记_第4张图片

修改文件的权限有两种方式

1.chomd【who】【+,-,=】[mode]文件
    who可取u|g|o|a,user,group,others,all
    +  |  -   |  =    分别表示增加 减少 等于(相应的权利)
    mode 可取 r,w,x;
    chmod o+x,g+w file2表示 将file2的others权限增加可执行,group权限增加可写;

2.chmod abc 文件名
    其中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。

   如 chomd 777 file   将file的文件权限设置为777

参考链接  https://www.cnblogs.com/lhm166/articles/6605059.html         https://blog.csdn.net/jin970505/article/details/78422468

17 cat ~/.bash_history

~在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

18.echo 命令

linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法

echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

如下图

linux命令学习笔记_第5张图片

功能说明:显示文字。
语   法: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

 更多资料查阅 https://www.cnblogs.com/Spiro-K/p/6360489.html 

                        https://www.cnblogs.com/ZhangShuo/articles/1829589.html

               

 

 

----------------------------------------------------未完待续--------------------------------------------

你可能感兴趣的:(linux命令学习)