Linux命令行简介

前言

Linux历史


linux应用领域

	1.嵌入式开发
	2.服务器端
	3.个人PC桌面
	
FSF
	自由软件基金会
GNU项目	(GNU is  not Unix)
		 bash gcc EMACS  hurd gawk
GPL
	通用公共许可协议
		1.开源的,可自由传播的
		2.可任意修改,必须把修改之后的源代码发布出来
		
Linux发行版本
	Redhat
	CentOS
	Ubuntu
	Fedora
	SUSE
	FreeBSD
	Debian
	
CentOS版本
	5系列
	6系列
	7系列  7.6

网卡命令规则


net.ifnames=0

分区规则


/boot		#引导分区500-1024MB

swap		#虚拟内存分区物理内存的1-2倍,峰值16G

/			#主分区,剩余多少给多少

快照和克隆


开机状态
挂起状态
关机状态

都可以做快照,克隆只能克隆关机转态的快照

克隆	
链接克隆   占有磁盘空间小,基于宿主机
完整克隆	占用磁盘空间大,完全独立

远程连接工具

Xshell
secureCRT
putty
iterm2
  • xshell 5安装

注册码 : 690313-111999-999313

插件xmanager注册码: 101210-450789-147200

bash shell

什么是bash shell

把用户输入的命令翻译成内核, 把执行的结果输出到屏幕上面

执行方式

  • 命令
  • shell scripts

特性

  • tab命令补全

    • 选项补全
    • 参数补全
  • 历史命令

    • history 查看历史命令的记录
      • -c 清空所有历史命令
      • -w 把历史命令放在文件中 ~/.bash_history
      • -d 指定删除历史的id号
  • 别名

    • alias

      • 临时设置别名
      $ alias ip_addr="ip a s eth0 |awk 'NR==5 {print $2}' |awk -F '/' '{print $1}'"
      
      • 取消别名
      $ unalias ip_addr
      
      • 永久设置别名

        ~/.bashrc或者~/.bashrc 中设置

命令行结构

root@test1: ~ # 

root	# 当前登录的用户名
@		#分隔符
test1	#主机名
~  		#位置标示当前路径, 本身标示当前用户的家目录
#	   	# 超级管理员的命令行提示符
$		# 普通用户的命令行提示符

设置命令行结构

# 全局设置  /etc/bashrc 

vim /etc/bashrc 
export PS1='\[\e[01;33m\]\[\e[01;32m\]\u\[\e[01;33m\]@\[\e[01;35m\]\h:\[\e[01;33m\] \[\e[01;36m\]\w \[\e[01;32m\]\$'

# 局部设置 (设置当前用户的命令行结构)
vim .bash_profile
export PS1='\[\e[01;33m\]\[\e[01;32m\]\u\[\e[01;33m\]@\[\e[01;35m\]\h:\[\e[01;33m\] \[\e[01;36m\]\w \[\e[01;32m\]\$ '

命令行结构


[root@qls ~]# 

root	#当前登录的用户名
@		#分隔符
qls		#主机名
~		#位置表示当前路径,本身表示当前用户的家目录
#		#超级管理员的命令行提示符
$		#普通用户的命令行提示符

[oldboy@qls ~]$

命令的语法结构


ls [OPTION]... [FILE]...

ls  命令
[OPTION] 选项
[FILE]  参数, 一般参数都是文件的绝对路径或者相对路径

$ ls-l
-bash: ls-l: command not found		#命令找不到

1.命令和选项和参数之间至少要有一个空格。
2.选项前面有短横杠和长横杠

报错和命令总结

  • command not found

命令找不到

解决:
	1.命令写错了,从新写入正确的命令
	2.系统没有安装此命令,需要下载安装才能使用,yum
	
  • No such file or directory

没有这个文件或目录

解决:
	1.参数或者路径写错了
	2.写对了,说明这个文件或者目录被删除
	3.路径不对
	

查看命令的帮助信息

  • man

    可以查看所有命令的详细帮助信息

>>> 查看命令的详细信息
$  man cd

>>> 模糊搜索包含cd字段的命令的描述
$  man -k cd
cd (1)               - bash built-in commands, see bash(1)
perlebcdic (1)       - Considerations for running Perl on EBCDIC platforms
rsyncd.conf (5)      - configuration file for rsync in daemon mode
Unicode::UCD (3pm)   - Unicode character database
utf8 (3pm)           - Perl pragma to enable/disable UTF-8 (or UTF-EBCDIC) in source code

>>> 搜索cd命令的描述
$  man -f cd
cd (1)               - bash built-in commands, see bash(1)
  • help

    • 只能看内置命令的帮助信息, help命令可以查看所有的内置命令
    • 使用选项查看帮助信息
    $  ss --help
    Usage: ss [ OPTIONS ]
           ss [ OPTIONS ] [ FILTER ]
       -h, --help          this message
       -V, --version       output version information
    
  • info

$  info cd

常用快捷键

移动光标类

快捷键 功能
ctrl+a 光标回到命令行首
ctrl+e 光标回到命令行尾
ctrl+f 光标向右移动一个字符(相当于方向键右键)
ctrl+b 光标向左移动一个字符(相当于方向左键)

剪切、 粘贴、 清除快捷键类

快捷键 功能
ctrl+k 剪贴(删除)光标处到行尾的字符
ctrl+u 剪贴(删除)光标处到行首的字符
ctrl+w 剪贴(删除)光标前的一个单词,在Linux系统中每个单词间以空格间隔
ctrl+y 粘贴ctrl+u/ctrl+k/ctrl+w删除的文本
ctrl+h 删除光标所在处的前一个字符(相当于退格键)

操作终端类

快捷键 功能
ctrl+c 退出当前命令行
ctrl+d 退出当前终端
ctrl+r 搜索命令行使用过的命令记录
ctrl+g 从ctrl+r的模式中退出
ctrl+l/clear 清屏,在屏幕最上方开始一个新行
ctrl+z 暂停执行在终端运行在终端运行的任务
ctrl+s 锁定终端,无法输入(mac键盘可能无法识别)
ctrl+q 解锁ctrl+s运行的锁定状态 (mac键盘可能无法识别)
>>> ctrl+c
$  systemctl restart^C
$  systemctl restart sshd^C

>>> ctrl+d
$ 
$   登出
Connection to cjw_test closed.

>>> ctrl+r
$   
(reverse-i-search)`system': systemctl restart sshd

>>> ctrl+g
(reverse-i-search)`system': systemctl restart sshd
$   

其他类

快捷键 功能
!! 执行上一条命令
!$ 获取上一条命令的最后一个参数
esc+. 获取上一条命令的最后一个参数
esc+b 移动到当前单词的开头
esc+f 移动到当前单词的结尾

基础命令

字符集相关

$  cat /etc/locale.conf 
LANG=en_US.UTF-8
$  echo $LANG
zh_CN.UTF-8
$  set |grep LANG
LANG=zh_CN.UTF-8

关机和重启命令

重启命令

命令 说明
reboot 立即重启
Shutdown -r now 立即重启
Shutodown -r +1 1分钟后重启
init 6 切换得到运行级别6,运行级别6表示重启

关机命令

命令 说明
shutdown -h now 立刻关机
Shutdown -h +1 1分钟后关机,1可以是别的数字或时间点,例如:11:00
halt 立即停止系统,需要人工关闭电源
init 0 切换到运行级别0 , 0表示关机
poweroff 立即停止系统并关闭电源

注销命令

命令 说明
logout 注销退出当前终端
exit 注销退出当前终端, 快捷键ctrl+d

显示ip地址命令

ip

$  ip a s ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:15:7a:ec brd ff:ff:ff:ff:ff:ff
    inet 192.168.142.23/24 brd 192.168.142.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::cb5e:c3d7:eec:4dad/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

ifconfig

$  ifconfig
-bash: ifconfig: 未找到命令
$  yum provides */ifconfig
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.sjtu.edu.cn
 * extras: ftp.sjtu.edu.cn
 * updates: ftp.sjtu.edu.cn
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
源    :base
匹配来源:
文件名    :/sbin/ifconfig
$  yum -y install net-tools-2.0-0.25.20131004git.el7.x86_64
$  ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.142.23  netmask 255.255.255.0  broadcast 192.168.142.255
        inet6 fe80::cb5e:c3d7:eec:4dad  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:15:7a:ec  txqueuelen 1000  (Ethernet)
        RX packets 16797  bytes 18216200 (17.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3949  bytes 842933 (823.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

hostname

$  hostname -I
192.168.142.23
posted @ 2019-09-29 17:05  cjw1219  阅读(385)  评论(0编辑  收藏  举报