• Linux常用指令


    命令提示符

     

    man——命令手册

    (需要查看具体参数的使用时,输入/-r即可查看-r的作用,查找下一处:n,退出:q)

    指令—ls(list)

    1、 ls -l (竖着排列)

    显示:文件/目录+权限+文件大小+创建人+所有人+实际占的大小+创建时间+名字(google确认)

    ——竖着排列,通过列举的文件信息可以知道哪些是文件哪些是目录

    最右边是目录或文件的名字,最左边以d开头的都是目录,以-开头的都是文件,后边的是权限。

    2、ls -a(列举隐藏文件)

     

    指令—cd

    cd /dev——绝对路径  de / + cd dev ——相对路径

     

    cd - 回到原来的那个路径

    cd ./** 当前路径(也可以使用cd **,结果一样)

    —cd ../.. 回到上两层路径

    Tab命令——一次敲击自动补齐,两次敲击查看备选项

     

    指令—pwd

    显示当前路径

    指令—mkdir

    创建一个目录

    区分:touch指令作用是创建文本,不是创建文件夹。

    指令—rmdir

    删除目录

    注意:删除目录的指令为rmdir,删除文件的指令为rm。

    注意:

    删除的时候要在当前目录的上一层删除,并且只能删除为空的文件,否则报错。

    实际当中,我们用的删除指令为:

    rm -r(r/R是指recursive,递归迭代的意思,即递归删除,这样就能删除文件内的所有内容了):

    这样做通常会让你多次确认是否删除文件,比较麻烦,可以采用下面的做法:

    (rm -tf,force强制删除):

    这也是最常用的方法,除了可删除目录外还可以删除文件。

    注:touch创建文件  mkdir创建目录

    (在ls列举出文件详细信息时,-开头的表示文件,d开头表示目录)

    -r表示递归的意思,应用很广泛

    复制操作

    注意:

    文件和目录的复制操作是不一样的:可以直接进行文件的cp操作,但是如果执行目录cp则会报错“略过目录d1”,可以使用递归的方法对目录下的文件进行复制,既可以通过cp -r执行目录的复制。

    move操作

    注:上述操作的意思是将当前目录下的dd1移动到目的绝对路径或相对路径之中。

    在执行move指令时必须进入需要操作的目录才可以,否则会报错。

    (原来的状态)

    注意:如果这里不进入d2目录中就会无法完成move操作,只有进入具体的目录之后才可以。

    vi操作

    (即文本编辑器,比windows下的notepad好用,vim与其用法类似。很重要)

    注:如果文件有直接进入编辑,如果没有则会创建。

    1. Vi两种模式

    命令模式(进入后默认的模式),编辑模式(可以敲击a-append,添加;i-insert,插入等)

    2.Vi退出

    esc—:qw(w-存盘,q-退出,q!-不存盘退出)

    3.查看文件内容

    more test.txt

    4.删除

    ——dd 删除一行

    ——dw 删除一个单词

    5.插入

    ——o  在下面插入一行

    ——O  在上面插入一行

    cat与tac指令

    注:正序与逆序

    指令more是指查看某一文件的全部内容

    head指令(可以带参数)

    注:取前面3行(刚好把数据截取掉)

    tell操作(可以附加参数)

    Tell取倒数第几行。

    如果对于log等较大的文件进行操作,想读取最后的一些数据时,可以使用head或tell操作,而不应该用more指令全盘列举。

    注:清屏 ——clear

    find操作(功能极其强大)

    可以按照文件的名称、日期、大小等查找。

    whereis操作

    其后一般跟指令,比如 whereis ls(列举出命令的位置以及帮助文档)

    环境变量

    dos环境下:cmd——echo %path% 或 echo %classpath%

    Linux:echo $PATH(要大写)

    注:Windows中的分隔符与Linux不同,这里是:(冒号),而不是;(分号)。

    ln链接指令

    注:这里是硬链接(默认)。

    链接与复制是不同的,源文件修改后链接内容会随着改变,而复制的则不会。

    验证方法:vi打开已经创建链接的文件——修改源文件——查看复制的文件和链接的文件内容是否改变。

    软连接

    软连接相当于windows中的快捷方式,硬链接相当于复制以后再建立链接。

    可以通过删除源文件验证软链接与硬链接两者区别:

    注:红颜色表示链接消失,前面的小写字母l表示链接

    注:软连接在删除源文件后出错,硬链接由于复制了一份源文件,所以不会报错。

    添加用户

    1. 指令:adduser或useradd

    注:home目录:不同用户在这里都有一个主目录(每添加一个用户就会多一个主目录)

    2. 密码:passwd 用户名(test)

    注:输入密码的时候不出现*,这与windows中不一样,退格键也是一个字符,因此敲错了必须重新敲。

     

    3. /etc目录

    注:这里存储的不是密码,而是所有的用户,文件的最后一行是我们新添加的用户。

    注:test——新添加的用户名,1001——用户组,1000——用户id号,/home/test——用户的主目录,/bin/bash——用户所用到的shell是bash

    用户组的信息:more group

    注:当添加的用户不知道属于哪个用户组的时候,默认的用户组是与用户名相同的。

     

     

    打包压缩

    解压缩——unzip **

    压缩——zip ** 文件名 目录

    在自由软件基金会网站下载wget源码会遇见**.tra.gz/**.tar.gz2,具体操作:

    解压(.gz)——tar zxvf 包名

    压缩——tar zcvf 包名 目录

    (x-解压缩,c-压缩comprise)

     

    重定向——拐弯

    输出保存到文件中——data >output.txt  --  cat output.txt(这时输出没有打印到屏幕,而是输出到文件中)

    如果:

    data shit>output.txt

    (这时会报错,因为shit文件不存在)

    系统中有三个文件是一直打开的,系统为其分配了3个文件描述符。

    0——stdin  1——stdout  2——stderr

    注:默认情况下,输出信息不会写到磁盘,而是在屏幕显示。

    输出重定向

    比如在file1:hello,file2:world。需要输出hello world:

    cat file1 >file

    cat file2 >file

    Cat file

    这时并不会输出hello world,而是world,因为重定向符在定向之前会清空原来内容。

    Ca file1>>file

    这时会自动追加内容

    Cat file1 file2

    Cat file1 file2 >file

    这样也可以。

    重定向标准错误输出

    同样,对于一个不存在的文件执行这样的操作,也会报错。

    Ls shit 2 >out.txt

    Cat out.txt

    注:列举shit文件不存在,会报错,这时通过文件描述符2控制输出。

    标准输入重定向

    ** < out.txt

    从刚才的文件输入,用的不多,因为实际中我们有管道:可以将前面输出作为后面的输入。

     

    管道线

    Cat file.txt | uniq

    注:在file中有重复的,这样就可以不显示重复内容。

    Cat file.txt | uniq | grep txt

    注:只显示txt文件

    Cat file.txt | uniq | grep txt | sort

    注:排序

     

    用户和文件权限

    用户在自己主目录有写权限,其余地方没有该权限。

    可以用sudo 指令,化作超级用户操作。

    apt-get 必须使用sudo

    权限:读、写、可执行

    根据权限划分:owner,group,world

     

    注:1表示硬链接的数目。第一个peter—owner,第二个peter——group,0——文件大小,后面是最后修改时间。

     

     

    对于目录:

    读权限——能够查看目录,否则不能查看。

    写权限——对里面的文件有创建删除重命名

    执行权限——可以进入该目录(其实默认的时候就可以进入目录)。

    对于文件:

    读权限——对于文件类似。

    写权限——重命名、创建和删除操作与这个无关(有写权限,不一定能够进行重命名或删除操作,因为目录的权限可能不具备写权限)

    执行权限——对于普通文件添加可执行权限没有什么实际意义。我们利用vi新建一个脚本:

    Vi a.sh(稍后敲小写i进入插入模式)

    Echo hello!

    存盘退出

    试图执行: ./a.sh

    权限被拒绝,需要增加权限。

    Ls -l a.sh

    查看权限

    利用chmod +x a.sh可以成功执行。

    总结:对于一个文件有执行权限可以运行。

    利用八进制数的形式修改

     

    如何在终端复制粘贴?

    双击对象——ctrl+shift+C复制——ctrl+shift+V粘贴

    打开程序

    Firefox+Alt+Tab在各个进程之间切换——firefox此时占据了shell,我们是无法执行其他操作的——比较好的方法是在shell中键入firefox &而不是firefox,这样程序后台运行——现在可以使用Ctrl+Z使firefox暂停——程序没有响应——bg(即后台,firefox &效果一样)——fg回到前台——ctrl+c结束

    程序不正常运行时,可以使用kill -9 PID,正常运行时可以使用kill -15 PID

    还有一种情况,程序占用资源过多,桌面系统被拖死,我们无法输入任何内容—ctrl+ALt+F1杀死进程,这样可以进入第一个控制台(linux中可以同时启动7个控制台)。

    查找

    locate——系统全局范围(ubuntu中支持正则表达式)

    注:新建一个文件并不能直接通过该指令搜到,locate运行原理是在数据库中查找而不是遍历整个文件系统,updatedb会把文件系统更新到数据库中,但是updatedb每天才更新一次。我们手动运行以下即可(需要超级用户权限)——sudo updatedb 文件

    find——在一个目录中,如果输入.,则会查看当前目录下的所有文件,如果输入. |grep .txt则会输出txt文件。如果只看文件:find . -type f,只看目录:find . -type d。

    还可以添加可执行的操作:

    find . -type f -exec ls -l ‘{}’  ‘;’

    在列举出的文本中添加内容

    echo hello >a.txt

    echo Hello >b.txt

    字符串查找:

    find . -type f -exec grep hello ‘{}’  ‘;’

    输出:hello

    打印匹配项所在的文件:

    find . -type f -exec grep hello ‘{}’  ‘;’ -print

    打印具体的行号:

    find . -type f -exec grep -n hello ‘{}’  ‘;’ -print

    忽略大小写:

    find . -type f -exec grep -ni hello ‘{}’  ‘;’ -print

    happygrep(可以在git上下载)

    安装依赖的库——make得到二进制代码——ls显示happrgrep——为了使其成为系统可以找到的命令,可以将其转移到主目录的bin目录中——mv happygrep ~/bin——这样在命令行任意位置敲happygrep都可以实现对应功能(比如补齐)——如果觉得名字太长,可以实现链接——ln -s happygrep XXX——这样敲击XXX就启动了这个程序

  • 相关阅读:
    MariaDB · 版本特性 · MariaDB 的 GTID 介绍
    stm8s 中断重复进入
    PCB积累
    链表的创建、增加、删除、改数据、遍历
    百度文库文字下载工具指引
    防倒灌的开关电路
    AD快速从原理图查找pcb中元件
    三目运算符填坑
    嵌入式结构化分层思想
    原码,反码,补码
  • 原文地址:https://www.cnblogs.com/yedushusheng/p/5524582.html
Copyright © 2020-2023  润新知