• linux基础


    登录和退出Linux
    1) 掌握关闭Linux系统的命令:init 0/1/2/3/4/5/6

    0:停机

    1:单用户形式,只root进行维护
    2:多用户,不能使用net file system
    3:完全多用户
    5:图形化
    4:安全模式
    6:重启
    2) 掌握什么是Linux终端:Linux终端也称为虚拟控制台。Linux终端采用字符命令行方式工作,用户通过键盘输入命令,通过Linux终端对系统进行控制。
    3) 掌握切换虚拟终端的方法:Ctrl+Alt+F[1~6],如想切换到第二号虚拟终端,则同时按Ctrl+Alt+F2,当切换到一个新的终端后会要求新用户登录,对于有图形界面的linux系统来说,图形界面也是一个终端,因此开机时会要求输入用户名和密码。

    终端包括tty终端和pts终端,后者成为虚拟终端,当通过ssh服务登陆或在xwindow环境下打开终端时为虚拟终端,用who命令可以看到登陆终端名称为pts:0~n。
    4) 掌握普通用户登录后系统的提示符:$
    5) 掌握root用户登录后系统的提示符:#
    6) 掌握退出命令:exit

    Linux命令的格式
    命令的语法格式
    命令格式中命令、选项、参数的具体含义
    whoami命令
    whoami命令的功能
    who命令
    who命令的功能
    who命令的输出结果
    date、cal、和clear命令及带有参数的命令
    date命令的功能
    cal命令的功能
    cal命令用法举例
    clear命令的功能
    清屏快捷键
    su和passwd命令
    su命令的功能
    su命令用法举例
    passwd命令功能
    passwd用法举例
    利用man命令来获取帮助信息
    man命令功能
    man命令用法举例
    使用“命令名 --help”获取帮助
    课后作业
    【本节内容】
    1. Linux命令的格式(详见linux系统管理P23)
    1) 了解Linux命令的语法格式:
    命令 【选项】 【参数】
    2) 掌握命令格式中命令、选项、参数的具体含义
    a) 命令:告诉Linux(UNIX)操作系统做(执行)什么。
    b) 选项:说明命令运行的方式(可以改变命令的功能)。选项部分是以“-”字符开始的。
    c) 参数:说明命令影响(操作)的是什么(如一个文件、一个目录或是一段正文文字)
    ls –a查看当前文件夹下所有文件,包括隐藏文件

    ls -l用长列表的输出模式查看当前文件夹下文件

    ls -h用带单位的输出信息查看当前文件夹下文件

    ◆Linux命令格式
    command [options] [arguments]
    command:命令
    options:  --单词   或   -单字
    如: ls --all
    equ     ls -a
    ls -a -b -c
    equ    ls -abc
    argument:参数(档案名称或其他)

    在查看命令帮助时,会出现[],<>,|等符号,它们的含义如下:
    []        表示是可选的;
    <>       表示是可变化的; 
    x|y|z    表示只能选择一个;
    -abc   表示三个参数(或任何二个)的混合使用

    ◆帮助命令:
    whatis <command>  :       显示简短功能描述

    <command> --help:      显示使用摘要和参数列表(可以查看大多数命令的用法)

    Man [<chapter>] <command>:查看命令描述或手册页(Manual)
    注:说明文件被划分为不同的页,man命令就是查看这些页
    Manual sections
    1:user commands(*)         4:special files               7:miscellaneous   
    2:system calls                   5:file formats                8:administrative commands(*)
    3:library calls                    6:games
    在man命令下底行模式
    /<text>   查找关键字
    n/N       下一个/上一个
    q         离开
    man -k <keyword>  列出包含keyword关键字的手册页

    Info <command>:查看命令详细的说明文件
    注:info查看的是比man更详细的说明,也就是把man的页再划分为更小的章节
    同时这个命令还可以链接到相似主题
    info命令底行模式:
    arrows.pageUp.pageDown       切换
    Tab                                           跳往下一个链接(有*的地方)
    Enter                                        进入链接
    n/p/u                                        跳往下一个(上一个)小节,上一层章节
    s[<text>]                                   查找关键字
    q                                              离开


    2. whoami命令(详见linux系统管理P24)
    1) 了解whoami命令的功能:列出目前登陆Linux系统所使用的用户名(账号)。
    3. who命令(详见linux系统管理P25)
    1) 掌握who命令的功能:列出目前哪些用户在系统上工作。
    2) 掌握who命令的输出结果:显示当前登录的所有用户,以及当前的日期和时间。
    4. date、cal、和clear命令及带有参数的命令
    (详见linux系统管理P28-P29)
    1) 掌握date命令的功能:显示系统当前的日期和时间。
    2) 掌握date命令设置时间时间的格式:date 月日时分年。
    例如:将时间设定成2013年12月24日上午10点18的命令:
    date 12241018201

    date -s "2013-12-24 10:18"
    hwclock –s 同步硬件 –w 同步系统

    clock命令可以视为是与hwclock相同
    3) 掌握cal命令的功能:显示某月的日历。
    4) 灵活应用cal命令列出某一年某月的日历:例如显示2008年8月份日历的命令为:cal 8 2008
    5) 掌握clear命令的功能:清除屏幕
    6) 掌握清屏快捷键:ctrl+l 或者输入clear
    5. su和passwd命令(详见linux系统管理P29-P31)
    1) 掌握su命令的功能:从当前的用户切换到另一个指定的其他用户。
    2) 灵活应用su命令切换用户:
    例如:切到root用户的命令:su – root
    3) 掌握passwd命令功能:修改用户(既可以是普通用户,也可以是root用户)的密码,查看用户的密码状态等
    4) 掌握使用passwd命令修改用户密码:
    例如:修改dog用户密码的命令:passwd dog
    6. 利用man命令来获取帮助信息(详见linux系统管理P34)
    1) 掌握man命令的功能:获取某个Linux命令的使用说明。
    2) 掌握使用man命令查看某命令的使用说明:
    例如:查看su命令的使用说明的命令为:man su
    7. 使用“命令名 --help”获取帮助
    1) 例如:查看ls命令帮助的命令为:(不使用man方法)
    ls –-help

    whatis ls

    info ls

     Linux文件系统的层次结构
    Linux文件系统的树状结构
    目录是什么
    顶层根目录的表示
    文件系统中的两个特殊目录
    Linux系统中的一些重要的目录
    bin目录
    sbin目录
    家目录
    dev目录
    etc目录
    挂载目录/media或/mnt
    其他常用目录
    绝对和相对路径
    绝对路径
    相对路径
    课后作业

    【本节内容】
    1. Linux文件系统的层次结构(详见linux系统管理P40)
    1) 了解Linux文件系统的树状结构:
    在Linux或UNIX操作系统中,所有的文件和目录都被组织成一个以根节点开始的倒置的树状结构。
    2) 掌握目录的定义:目录相当于Windows中的文件夹,目录中存放的既可以是文件,也可以是其他的子目录。
    3) 掌握顶层根目录的表示:
    使用“/”来表示根目录
    4) 了解文件系统中的两个特殊目录:
    . 表示当前目录,即用户所在的工作目录
    .. 表示父目录,即当前目录的上一层目录
    2. Linux系统中的一些重要的目录(详见linux系统管理P41)
    1) 掌握Linux中的一些重要目录
    a) bin目录:用来存放常用的可执行文件
    b) sbin目录:用来存放系统的可执行文件
    c) 家目录:用来存放用户自己的文件或目录,其中,超级用户root的家目录是/root,而普通用户的家目录被存放在/home目录下,并使用用户名作为最后一级目录(家目录)的名称,如cat用户的家目录为/home/cat
    d) dev目录:设备文件目录
    e) etc目录:配置文件目录
    f) 挂载点(目录):通常可移除式硬件会被挂载在/media或/mnt目录之下

    g)var目录 某些大文件的溢出区,比方说各种服务的日志文件 
    3. 绝对和相对路径(详见linux系统管理P43)
    1) 掌握绝对路径的定义:必须以一个正斜线(/)开始。绝对路径包括从文件系统的根节点开始到要查找的对象(目录或文件)所必须遍历的每一个目录的名字,它是文件位置的完整路标,因此在任何情况下都可以使用绝对路径找到所需的文件。
    2) 掌握相对路径的定义:不是以正斜线(/)开始,相对路径可以包含从当前目到要查找的对象(目录或文件)所必须遍历的每一个目录的名字。

    使用pwd和cd命令来确定和切换目录
    pwd命令的功能
    cd命令的功能
    cd ..
    cd ~
    cd –
    cd
    使用ls命令列出目录中的内容
    ls命令的功能
    ls –a
    ls –all
    ls –l
    使用cp命令复制文件和目录
    cp命令的功能
    –i选项
    –r选项
    –p选项
    –f选项
    使用mv命令移动及修改文件和目录名
    mv命令的功能
    mv命令的用法举例
    使用mkdir命令创建目录
    mkdir命令的功能
    mkdir命令的用法举例
    使用touch命令创建文件
    touch命令的功能
    touch命令的用法举例
    使用rm命令删除文件
    rm命令的功能
    –i选项
    –r选项
    –f选项
    rm命令的用法举例
    使用rmdir或rm –r命令删除目录
    rmdir命令的功能
    rmdir命令的用法举例
    rm –r命令的功能
    rm –r命令的用法举例
    使用cat命令浏览正文文件的内容
    cat命令的功能
    cat命令的用法举例
    使用head命令浏览文件中的内容
    head命令的功能
    –n选项
    head命令的用法举例
    使用tail命令浏览文件中的内容
    tail命令的功能
    –n选项
    tail命令的用法举例
    使用more命令浏览文件
    more命令的功能
    more命令的用法举例
    课后作业

    【本节内容】
    1. 使用pwd和cd命令来确定和切换目录(详见linux系统管理P43-P46)
    1) 掌握pwd命令的功能:确定现在所在的工作目录
    2) 掌握cd命令的功能:切换当前目录
    3) 掌握“cd ..”命令:进入上一级目录
    4) 掌握“cd ~”命令:切换到用户的家目录
    5) 掌握“cd”命令:同cd ~,也可切换到用户的家目录
    6) 掌握“cd –”命令:切换到用户之前的工作目录
    7) 掌握“cd 目录名”命令:切换到指定的目录。
    a) 例如:切换到/home/dog目录的命令为:cd /home/dog
    2. 使用ls命令列出目录中的内容(详见linux系统管理P47-P50)
    1) 掌握ls命令的功能:列出当前目录(默认为当前目录)或指定目录中的内容
    2) 掌握ls -a命令:列出目录下的所有文件,包括以“.”开头的隐含文件
    a) 例如:列出/home/dog目录中的所有文件,包括隐藏文件的命令:ls -a /home/dog
    3) 了解ls –-all命令:同ls –a
    4) 掌握ls –l命令:列出某个目录中每一个文件的详细资料
    例如:列出/home/dog目录中所有非隐藏文件的细节的命令:
    a) ls –l /home/dog
    3. 使用cp命令复制文件和目录(详见linux系统管理P50)
    1) 掌握cp命令的功能:将文件(可以是多个)复制成一个指定的目的文件或复制到一个指定的目标目录中。
    2) 掌握cp命令的常用选项:
    cp 源文件 目标文件
    a) –r(recursive,递归的):递归地复制目录。当复制一个目录时,复制该目录中所有的内容,其中包括子目录的全部内容。
    i) 例如:将/home/dog目录中的内容全部复制目录/home/cat中的命令为:
    cp –r /home/dog /home/cat
    b) -f(force,强制):在目标文件已经存在的时候不询问直接强制复制
    4. 使用mv命令移动及修改文件和目录名(详见linux系统管理P54)
    1) 掌握mv命令的功能:既可以在不同的目录之间移动文件和目录,也可以重新命名文件和目录。
    2) 掌握mv命令的用法举例:
    a) 移动文件和目录的例子:
    将当前目录中的lists文件移动到其子目录babydog中的命令:
    mv lists babydog
    b) 重命名文件和目录的例子:
    将bigdog目录名改为babydog的命令:
    mv bigdog babydog
    5. 使用mkdir命令创建目录(详见linux系统管理P55)
    1) 掌握mkdir命令的功能:创建一个新目录
    2) 掌握mkdir命令的用法举例:
    创建目录daddog的命令:mkdir dadgog
    6. 使用touch命令创建文件(详见linux系统管理P56)
    1) 掌握touch命令的功能:可以创建一个空文件,也可以同时创建多个文件。
    2) 掌握touch命令的用法举例:
    在当前目录中创建一个名为babydog1的文件的命令:
    touch babydog1
    7. 使用rm命令删除文件(详见linux系统管理P57)
    1) 掌握rm命令的功能:永久地在文件系统中删除文件或目录。
    2) 掌握rm命令的常用选项:
    a) –r(recursive,递归的):递归地删除目录。当删除一个目录时,删除该目录中所有的内容,其中包括子目录中的全部内容。
    b) –f(force,强制):系统并不询问而是强制删除,即直接删除原有的文件。
    3) 掌握rm命令的用法举例:
    删除当前目录中的babydog1文件的命令:rm babydog1
    8. 使用rmdir或rm –r命令删除目录(详见linux系统管理P59)
    1) 掌握rmdir命令的功能:删除空目录。
    2) 掌握rmdir命令的用法举例:
    删除空目录 mumdog/girldog/babydog的命令:
    rmdir mumdog/girldog/babydog
    3) 掌握rm –r命令的功能:删除包含文件和子目录的目录。
    4) 掌握rm –r命令的用法举例:
    删除非空目录mumdog的命令:
    rm –r mumdog
    9. 使用cat命令浏览正文文件的内容(详见linux系统管理P73)
    5) 掌握cat命令的功能:将一个或多个文件的内容显示在屏幕上,该命令会不停的以只读的方式显示整个文件的内容。
    6) 掌握cat命令的用法举例:
    a) 浏览game.txt文件中的全部内容的命令:
    cat game.txt
    10. 使用head命令浏览文件中的内容(详见linux系统管理P75)
    1) 掌握head命令的功能:默认将显示一个文件的前10行。
    2) 掌握head命令的常用选项:
    -n 改变显示的行数
    3) 掌握head命令的用法举例:
    a) 查看/etc/passwd文件中前10行的详细信息的命令:
    head /etc/passwd
    b) 查看/etc/passwd文件中前5行的详细信息的命令:
    head –n 5 /etc/passwd
    11. 使用tail命令浏览文件中的内容(详见linux系统管理P76)
    1) 掌握tail命令的功能:默认显示文件最后10行的内容。
    2) 掌握tail命令的常用选项:
    -n 显示从文件末尾算起的n行
    3) 掌握tail命令的用法举例:
    a) 查看/etc/passwd文件中最后10行的详细信息的命令:
    tail /etc/passwd
    b) 查看/etc/passwd文件中最后5行的详细信息的命令:
    tail –n 5 /etc/passwd
    12. 使用more命令浏览文件(详见linux系统管理P78)
    1) 掌握more命令的功能:使用more命令之后,每次在屏幕上显示一屏(一页)的文件内容,并且在屏幕的尾部将会出现“—More--(n%)”的信息,其中,n%是已经显示文件内容的百分比。
    2) 灵活应用more命令
    a) 分页浏览learning.txt文件内容的命令:
    more learning.txt

    less和more可以像cat一样用于浏览文件内容,也可以结合管道符号来分页输出原本显示在屏幕上的内容。

    1. 命令行日常系快捷键

    如下的快捷方式非常有用,能够极大的提升你的工作效率:

    • CTRL + U - 剪切光标前的内容
    • CTRL + K - 剪切光标至行末的内容
    • CTRL + Y - 粘贴
    • CTRL + E - 移动光标到行末
    • CTRL + A - 移动光标到行首
    • ALT + F - 跳向下一个空格
    • ALT + B - 跳回上一个空格
    • ALT + Backspace - 删除前一个单词
    • CTRL + W - 剪切光标后一个单词
    • Shift + Insert - 向终端内粘贴文本

    那么为了让上述内容更易理解来看下面的这行命令。

    1. sudo apt-get intall programname

    如你所见,命令中存在拼写错误,为了正常执行需要把“intall”替换成“install”。

    想象现在光标正在行末,我们有很多的方法将她退回单词install并替换它。

    我可以按两次ALT+B这样光标就会在如下的位置(这里用指代光标的位置)。

    1. sudo apt-get^intall programname

    现在你可以按两下方向键并将“s”插入到install中去了。

    如果你想将浏览器中的文本复制到终端,可以使用快捷键"shift + insert"。

    2. SUDO !!

    如果你还不知道这个命令,我觉得你应该好好感谢我,因为如果你不知道的话,那每次你在输入长串命令后看到“permission denied”后一定会痛苦不堪。

    • sudo !!

    如何使用sudo !!?很简单。试想你刚输入了如下命令:

    1. apt-get install ranger

    一定会出现“Permission denied”,除非你已经登录了足够高权限的账户。

    sudo !! 就会用 sudo 的形式运行上一条命令。所以上一条命令就变成了这样:

    1. sudo apt-get install ranger

    如果你不知道什么是sudo,戳这里。

    3. 暂停并在后台运行命令

    我曾经写过一篇如何在终端后台运行命令的指南。

    • CTRL + Z - 暂停应用程序
    • fg - 重新将程序唤到前台

    如何使用这个技巧呢?

    试想你正用nano编辑一个文件:

    1. sudo nano abc.txt

    文件编辑到一半你意识到你需要马上在终端输入些命令,但是nano在前台运行让你不能输入。

    你可能觉得唯一的方法就是保存文件,退出 nano,运行命令以后在重新打开nano。

    其实你只要按CTRL + Z,前台的命令就会暂停,画面就切回到命令行了。然后你就能运行你想要运行命令,等命令运行完后在终端窗口输入“fg”就可以回到先前暂停的任务。

    有一个尝试非常有趣就是用nano打开文件,输入一些东西然后暂停会话。再用nano打开另一个文件,输入一些什么后再暂停会话。如果你输入“fg”你将回到第二个用nano打开的文件。只有退出nano再输入“fg”,你才会回到第一个用nano打开的文件。

    4. 使用nohup在登出SSH会话后仍运行命令

    如果你用ssh登录别的机器时,nohup命令真的非常有用。

    那么怎么使用nohup呢?

    想象一下你使用ssh远程登录到另一台电脑上,你运行了一条非常耗时的命令然后退出了ssh会话,不过命令仍在执行。而nohup可以将这一场景变成现实。

    举个例子,因为测试的需要,我用我的树莓派来下载发行版。我绝对不会给我的树莓派外接显示器、键盘或鼠标。

    一般我总是用SSH从笔记本电脑连接到树莓派。如果我在不用nohup的情况下使用树莓派下载大型文件,那我就必须等待到下载完成后,才能登出ssh会话关掉笔记本。可如果是这样,那我为什么要使用树莓派下文件呢?

    使用nohup的方法也很简单,只需如下例中在nohup后输入要执行的命令即可:

    1. nohup wget http://mirror.is.co.za/mirrors/linuxmint.com/iso//stable/17.1/linuxmint-17.1-cinnamon-64bit.iso &

    5. ‘在’特定的时间运行Linux命令

    ‘nohup’命令在你用SSH连接到服务器,并在上面保持执行SSH登出前任务的时候十分有用。

    想一下如果你需要在特定的时间执行相同的命令,这种情况该怎么办呢?

    命令‘at’就能妥善解决这一情况。以下是‘at’使用示例。

    1. at 10:38 PM Fri
    2. at> cowsay 'hello'
    3. at> CTRL + D

    上面的命令能在周五下午10时38分运行程序cowsay。

    使用的语法就是‘at’后追加日期时间。当at>提示符出现后就可以输入你想在那个时间运行的命令了。

    CTRL + D 返回终端。

    还有许多日期和时间的格式,都需要你好好翻一翻‘at’的man手册来找到更多的使用方式。

    6. Man手册

    Man手册会为你列出命令和参数的使用大纲,教你如何使用她们。Man手册看起来沉闷呆板。(我思忖她们也不是被设计来娱乐我们的)。

    不过这不代表你不能做些什么来使她们变得漂亮些。

    1. export PAGER=most

    你需要安装 ‘most’;她会使你的你的man手册的色彩更加绚丽。

    你可以用以下命令给man手册设定指定的行长:

    1. export MANWIDTH=80

    最后,如果你有一个可用的浏览器,你可以使用-H在默认浏览器中打开任意的man页。

    1. man -H <command>

    注意啦,以上的命令只有在你将默认的浏览器设置到环境变量$BROWSER中了之后才效果哟。

    7. 使用htop查看和管理进程

    你用哪个命令找出电脑上正在运行的进程的呢?我敢打赌是‘ps’并在其后加不同的参数来得到你所想要的不同输出。

    安装‘htop’吧!绝对让你相见恨晚。

    htop在终端中将进程以列表的方式呈现,有点类似于Windows中的任务管理器。你可以使用功能键的组合来切换排列的方式和展示出来的项。你也可以在htop中直接杀死进程。

    在终端中简单的输入htop即可运行。

    1. htop

    8. 使用ranger浏览文件系统

    如果说htop是命令行进程控制的好帮手,那么ranger就是命令行浏览文件系统的好帮手。

    你在用之前可能需要先安装,不过一旦安装了以后就可以在命令行输入以下命令启动她:

    1. ranger

    在命令行窗口中ranger和一些别的文件管理器很像,但是相比上下结构布局,她是左右结构的,这意味着你按左方向键你将前进到上一个文件夹,而右方向键则会切换到下一个。

    在使用前ranger的man手册还是值得一读的,这样你就可以用快捷键操作ranger了。

    9. 取消关机

    无论是在命令行还是图形用户界面关机后,才发现自己不是真的想要关机。

    1. shutdown -c

    需要注意的是,如果关机已经开始则有可能来不及停止关机。

    以下是另一个可以尝试命令:

    • pkill shutdown

    10. 杀死挂起进程的简单方法

    想象一下,你正在运行的应用程序不明原因的僵死了。

    你可以使用‘ps -ef’来找到该进程后杀掉或者使用‘htop’。

    有一个更快、更容易的命令叫做xkill。

    简单的在终端中输入以下命令并在窗口中点击你想杀死的应用程序。

    1. xkill

    那如果整个系统挂掉了怎么办呢?

    按住键盘上的‘alt’和‘sysrq’不放,然后慢慢输入以下键:

    • REISUB

    这样不按电源键你的计算机也能重启了。

    11. 下载Youtube视频

    一般来说我们大多数人都喜欢看Youtube的视频,也会通过钟爱的播放器播放Youtube的流媒体。

    如果你需要离线一段时间(比如:从苏格兰南部坐飞机到英格兰南部旅游的这段时间)那么你可能希望下载一些视频到存储设备中,到闲暇时观看。

    你所要做的就是从包管理器中安装youtube-dl。

    你可以用以下命令使用youtube-dl:

    1. youtube-dl url-to-video

    你可以在Youtubu视频页面点击分享链接得到视频的url。只要简单的复制链接在粘帖到命令行就行了(要用shift + insert快捷键哟)。

  • 相关阅读:
    使用C++与SFML编写一个简单的撞球游戏Part3——创建游戏启动界面
    生命游戏
    一道面试题
    为目标数字添加逗号分隔,由 baidu.number.comma 想到的
    制作JavaScript选择器(1)解析令牌
    Team Foundation 使用第三方比较工具
    Levenshtein Distance算法
    计算颜色的亮度值
    整理QUnit API
    Scrum笔记整理
  • 原文地址:https://www.cnblogs.com/Icarus1900/p/7637788.html
Copyright © 2020-2023  润新知