LINUX命令行

一、 访问命令行

因为内核不提供和用户的交互功能,所以需要一个程序提供这种功能,这种程序分为两 种:命令行(CLI) 和 图形界面(GUI)。

linux 下流行的图形桌面:

  • GNOME:C 语言开发,使用 gtk 库
  • KDE:C++语言开发,使用 qt 库
  • XFCE:嵌入式,轻量级桌面

linux 下常用的命令行程序:

  • bash:redhat 默认 shell,开源,基于 GPL
  • dash,ubuntu 默认 shell

1、 shell

在类 UNIX 中,提供 CLI 的交互程序,我们统称为 shell。

  • 1.1、打开一个 shell 打开一个终端就打开一个 shell 得到一个命令行界面,就触发一个 shell

  • 1.2、命令行提示符 当触发一个 shell,就可以得到一个提示符。 登陆用户名@主机名 当前目录

    • #表示是 root 用户
    • $表示是普通用户
    • 方括号里的提示符是由 PS1 变量展示

2、 终端

用户和主机进行交互的设备,我们称为终端。

  • 2.1、物理终端

    • 一个键盘、一个鼠标、一个显示器就是一个物理终端

    • 设备文件:/dev/console

  • 2.2、虚拟终端

    • tty:直接连接的终端。附加在物理终端之上,以软件方式虚拟出来的终端

    • 设备文件:/dev/tty*

  • 2.3、模拟终端

    • pts:纯软件实现的终端,与图形终端窗口或远程登陆会话相关的终端。比如:在图形 界面下打开的 terminal,使用SSH、telnet等远程打开的界面。

    • 设备文件:/dev/pts/*

注意:

  • 系统启动过程中,以物理终端提供
  • 系统启动之后,就以虚拟终端提供

2.4、虚拟终端切换

如果有图形环境,共有 6 个控制台,图形界面运行在第一个;文本界面运行在第二至第六 个。
如果没有图形环境,则只有 5 个虚拟控制台,全是文本界面。

切换控制台的命令:Ctrl+Alt+Fn (n=1~6)

#查看当前终端设备:tty 
#查看有哪些用户登陆到当前系统:who 
#在 tty2 上显示 hello: echo hello > /dev/tty2

3、 命令行

命令 【选项】 【参数】

  • 执行的 Shell 命令中最多有三部分:命令、选项、参数。
  • 每部分需要使用空格隔开。
  • 键入完命令,确认执行时,按Enter键,系统会执行相关操作,显示相关的输出,然 后显示下一个 Shell 的提示符。

3.1、命令

  • 所谓命令就是一个可执行文件,文件本身包含了可执行的程序代码
  • 输入命令,按Enter键,就是将这个程序提交给内核,由内核分配资源将其运行起来。 运行中的程序,我们称为进程。
  • 最左边,必须是一个命令

3.2、选项

  • 用于启用或关闭命令的某个或某些功能
  • 短选项:-表示,可合并使用
  • 长选项:–表示,一般不可合并使用

3.3、参数

  • 命令作用的对象,向命令提供数据。

注意:

  • 命令,选项,参数中间使用空格隔开
  • 多选项之间、多参数之间,使用空格隔开
  • 一行执行多个命令,使用分号(;)隔开
  • 当命令太长,可使用反斜杠(\)将 Enter 键转义,告知 Shell 仅为换行,而非执行命令

3.4、在 shell 中有两类命令

  • 内建命令:shell 自带,找不到,比如:cd 命令,使用 which cd 是找不到的

  • 外部命令:非 shell自带,外部的一个可执行文件

  • 别名:如 ll,等同于 ‘ls -l --color’

    #查看一个命令的类型,是内建还是外部:type cd  
    #查找 ls 命令可执行文件在哪儿:which ls 
    #查找关键字文件在哪儿:whereis ls
    

3.5、PATH 变量

查看 PATH 变量的值 :echo $PATH

  • 执行命令时,就会在这个 PATH 变量指定的路径,从左到右去寻找,一直到找到为止,如果没找到,会提示找不到这个命令 shell
  • 搜寻到的外部命令的路径,会被缓存下来,下次就不用再去搜了

查看缓存的命令

  • hits,表示命中次数,也就是被执行了多少次hash

清除所有缓存

  • 比如:将 ls 程序文件移到/usr/bin 目录下,如果有缓存存在,还会到/bin/下去找 ls
    这个命令,找不到就会报错,这时,就需要清一下缓存,重新去搜寻 hash -r

4、 Linux 内核

查看 linux 内核版本的命令:

#uname -a  
#uname -r

5、 命令演示

关闭计算机,它的使用权限是超级用户。

# -h,关机后关闭电源
# -c,取消目前正在执行的关机程序:shutdown
# 马上关机: shutdown -h 0
# 3:40 开始关机:shutdown -h 3:40

注意:

  • 使用直接断掉电源的方式来关闭 Linux 系统,这是十分危险的。因为Linux 与 Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。

  • 在系统关机前使用 shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且 login 指令会被冻结,即新的用户不能再登录。

     #就是调用 shutdown -h :halt 
     #重新启动计算机,它的使用权限是系统管理者: reboot 
     #退出系统,它的使用权限是所有用户: exit
    

6、 Alias

#查看当前全部alias:alias  
#给 cp 命令设置一个别名,当我们执行 cp 命令时,实际执行的cp -i 命令 
#cp,默认覆盖不提醒,加上-i 选项,表示提醒:alias cp='cp -i' 
#在命令前面加上“\”,表示不使用别名,就使用最原始的 cp 命令:\cp 
#删除别名:unalias cp

7、 TAB 补全

输入命令、选项、参数时,可以通过 tab 键补全功能来减轻输入压力。键入的内容如果足够使其唯一,按一次 tab 键即可补全,如果键入的内容不够使其唯一,按两次 tab 键,即可以显示以键入的字符为开头的所有命令。

#查询有没有安装 bash-completion 这个软件包:rpm -qa |grep bash-completion

8、 命令历史记录

  • 在每个用户的家目录,都有自己的历史记录件:.bash_history

  • 登陆 shell时,会从登陆用户的家目录中,读取.bash_history 文件。

  • 登陆后,执行的命令历史记录,会先记录到缓存中

  • 登出时,会将缓存中的历史记录,以追加方式写到.bash_history 文件中。

     #查看历史命令记录:history  
     #立即将缓存中的记录,写回文件:history -a  
     #清除历史:history -c history
     #命令输出的条数:echo $HISTSIZE  
     #历史文件路径:echo $HISTFILE
     #命令历史文件记录历史的条数:echo $HISTFILESIZE
     #调用历史记录中对应编号的命令:!数字 
     #调用历史记录中最近的一个以指定字符串开头的命令:!字符串 
     #可以上下查阅历史记录:上、下箭头 
     #在当前命令行中左右移动光标:左、右箭头 
     #在历史记录列表中搜索某一模式的命令:ctrl+r
    

9、 快捷键

#光标定位到命令行首:ctrl+a 
#光标定位到命令行尾:ctrl+e 
#将光标处前面的内容清除:ctrl+u 
#将光标处后面的内容清除:ctrl+k 
#跳到命令行中前一字的开头:ctrl+左箭头 
#跳到命令行中下一字的末尾:ctrl+右箭头 
#截断进程:ctrl+c
#清空屏幕:ctrl+l

SSH客户端:

  1. Putty --开源软件,企业中最受欢迎
  2. Xshell --仅限个人(或学校)免费使用,企业不可用
  3. mobaxterm --企业可用,半开源
  4. SecureCRT–不开源,企业和学校都不可用

连接SSH的方式 ——IP:Port socket (套接字)

给PAHT变量赋值,添加一个/root路径

#PATH=$PATH:/root

干掉一个变量(在内存中清除)

#unset PATH

查看网络状态

#nmcli

查看上一条命令执行的状态(成功返回0,失败返回非0)

#echo $?
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值