linux入门级基础知识

                                 

目录

  • 用户登录

  • 终端shell介绍

  • 简单命令

  • Tab键补全

  • 执行命令

  • 命令行历史

  • bash快捷键

  • 使用gnome-terminal

用户登录

   1.root用户

                       一个特殊的管理账户

                       超级用户

                      root已经接近完整的系统控制,不正当操作,几乎对系统有无限的损害能力

                      除非必要,不要登录为 root 

     2. 普通(非特权)用户

                      权限有限,造成的伤害有限 

终端

                   

             终端设备的分类https://blog.csdn.net/yazhouren/article/details/78793367

             设备终端

                     键盘鼠标显示器

             物理终端

                    控制台console

             虚拟终端

                   tty 可能有n个,Ctrl  + Alt + F7

             图形终端

                   startx,xwindows

             串行终端

                   ttys

             伪终端

                    连pty,SSH远程接

            查看当前的终端设备:#tty

交互式接口

  • 交互式接口:启动终端后,在终端设备附加一个交互式应用程序
  • GUI:Graphic User Interface

             X protocol, window manager, desktop Desktop:

            GNOME (C, 图形库gtk), KDE (C++, 图 形 库 qt) XFCE (轻量级桌面)

  • CLI:Command Line Interface

            shell程序sh (bourn 史蒂夫·伯恩) csh tcsh ksh (korn) bash (bourn again shell)GPL zsh:

 

什么是shell

  • Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行
  • shell也被称为LINUX的命令解释器(command interpreter)
  • shell是一种高级程序设计语言

bash shell

  • GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也是 Linux标准的shell,与sh兼容
  • CentOS默认使用
  • 显示当前使用的shell echo ${SHELL}
  • 显示当前系统使用的所有shell cat /etc/shells

命令提示符

  • 命令提示符:prompt

              [root@localhost ~]#

              # 管理员 $ 普通用户

  • 显示提示符格式

             [root@localhost ~]#echo $PS1

  • 修改提示符格式

              PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"

              \e \033 \u 当前用户

              \h 主机名简称 \H 主机名

              \w 当前工作目录 \W 当前工作目录基名

              \t 24小时时间格式 \T 12小时时间格式

              \! 命令历史数 \# 开机后命令历史数

 

 

执行命令

  • 输入命令后回车

             提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来

  • 在shell中行可执的命令有两类

            内部命令:由shell自带的,而且通过某命令形式提供

                         help 内部命令列表enable cmd 启用内部命令

                        enable –n cmd 禁用内部命令enable –n 查看所有禁用的内部命令

           外部命令:在文件系统路径下有对应的可执行程序文件

                        查看路径:which -a |--skip-alias ; whereis

  • 区别指定的命令是内部或外部命令type COMMAND

执行外部命令

  • Hash缓存表

       系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率

  • hash常见用法

       hash 显示hash缓存

       hash –l 显示hash缓存,可作为输入使用

       hash –p path name 将命令全路径path起别名为name

       hash –t name 打印缓存中name的路径hash –d name 清除name缓存

       hash –r 清除缓存

命令别名

                 alias

                VALUE alias NAME='VALUE'

                仅对当前用户:~/.bashrc 

  1. 显示当前shell进程所有可用的命令别名
  2. 定义别名NAME,其相当于执行命令
  3. 在命令行中定义的别名,仅对当前shell进程有效
  4. 如果想永久有效,要定义在配置文件中

               对所有用户有效:/etc/bashrc

  • 编辑配置给出的新配置不会立即生效
  • bash进程重新读取配置文件source /path/to/config_file

.              /path/to/config_file

  • 撤消别名:unalias

             unalias [-a] name [name ...]

             -a 取消所有别名

  • 如果别名同原命令同名,如果要执行原命令,可使用

              \ALIASNAME “ALIASNAME” ’ALIASNAME’

              command ALIASNAME

             /path/commmand

命令格式

  • COMMAND [OPTIONS...] [ARGUMENTS...]
    1. 选项:用于启用或关闭命令的某个或某些功能 短选项:-c 例如:-l, -h

                          长选项:--word 例如:--all, --human-readable

                    2.参数:命令的作用对象,比如文件名,用户名等 

  • 注意:
    • 多个选项以及多参数和命令之间使用空白字符分隔
    • 取消和结束命令执行:Ctrl+c,Ctrl+d
    • 多个命令可以用;符号分开
    • 一个命令可以用\分成多行

令行扩展、被括起来的集合

  • 命令行扩展:$( ) 或 ``

          把一个命令的输出打印给另一个命令的参数

           echo "This system's name is $(hostname) "

          This system's name is server1.example.com echo "i am `whoami` "

          i am root

  • 括号扩展:{ }

            打印重复字符串的简化形式

             echo file{1,3,5}

             file1 file3 file5 rm -f file{1,3,5}

             echo {1..10}

            echo {a..z}

            echo {000..20..2}

命令行历史

  • 使用up(向上)和down(向下)键来上下浏览从前输入的命令
  • ctrl-r来在命令历史中搜索命令

            (reverse-i-search)`’:

  • Ctrl+g:从历史搜索模式退出
  • 要重新调用前一个命令中最后一个参数

               !$ 表 示

              Esc, .(点击Esc键后松开,然后点击 . 键)

              Alt+ .(按住Alt键的同时点击 . 键)

  • 重复前一个命令,有4种方法

             重复前一个命令使用上方向键,并回车执行

             按 !! 并回车执行

             输入!-1 并回车执行

             按 Ctrl+p 并回车执行

  • !:0 执行前一条命令(去除参数)
  • Ctrl + n 显示当前历史中的下一条命令,但不执行
  • Ctrl + j 执行当前命令
  • !n 执行history命令输出对应序号n的命令
  • !-n 执行history历史中倒数第n个命令

bash的快捷键

  • Ctrl + l 清屏,相当于clear命令
  • Ctrl + o 执行当前命令,并重新显示本命令
  • Ctrl + s 阻止屏幕输出,锁定
  • Ctrl + q 允许屏幕输出
  • Ctrl + c 终止命令
  • Ctrl + z 挂起命令
  • Ctrl + a 光标移到命令行首,相当于Home
  • Ctrl + e 光标移到命令行尾,相当于End
  • Ctrl + f 光标向右移动一个字符
  • Ctrl + b 光标向左移动一个字符
  • Alt + f 光标向右移动一个单词尾
  • Alt + b 光标向左移动一个单词首
  • Ctrl + xx 光标在命令行首和光标之间移动
  • Ctrl + u 从光标处删除至命令行首
  • Ctrl + k 从光标处删除至命令行尾
  • Alt + r 删除当前整行
  • Ctrl + w 从光标处向左删除至单词首
  • Alt + d 从光标处向右删除至单词尾
  • Ctrl + d 删除光标处的一个字符
  • Ctrl + h 删除光标前的一个字符
  • Ctrl + y 将删除的字符粘贴至光标后
  • Alt + c 从光标处开始向右更改为首字母大写的单词
  • Alt + u 从光标处开始,将右边一个单词更改为大写
  • Alt + l 从光标处开始,将右边一个单词更改为小写
  • Ctrl + t 交换光标处和之前的字符位置
  • Alt + t 交换光标处和之前的单词位置
  • Alt + N 提示输入指定字符后,重复显示该字符N次
  • 注意:Alt组合快捷键经常和其它软件冲突

gnome-terminal

  • 应用程序->附件->终端
  • 支持多个“标签”shell的图形化终端模拟器

Ctrl-Shift-v 把文本粘帖到当前光标处

Ctrl-Shift-c 复制选中的文本

Ctrl-PaUp/PgUn 切换到下一个/前一个标签页

Ctrl-Shift-w 关闭一个标签页

Ctrl-Shift-t 创建一个标签页

Ctrl-Shift-q 关闭当前窗口

Ctrl-Shift-n 创建新窗口


猜你喜欢

转载自blog.csdn.net/qq_38632451/article/details/81158487