zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    关于 未能加载文件或程序集“ImageMagickNet”或它的某一个依赖项。试图加载格式不正确的程序 的解决办法
    Nhibernate中 ManyToOne 中lazy="proxy" 延迟不起作用的原因
    关于mysqlconnectornet6.3.4 MySqlDataAdapter 在空数据的情况下填充DataSet后tables[0] 找不到的问题
    JavaScript:constructor属性
    关于AspNetPager 采用URL分页时 执行两次绑定的解决办法
    WPF学习笔记(一)
    unity3d 屏幕坐标、鼠标位置、视口坐标和绘制GUI时使用的坐标
    FileUpLoad用法(二)上传文件到服务器的数据库
    ASP.Net 使用GridView模板删除一行的用法
    ASP.Net FileUpLoad 控件的用法(一)——上传到服务器文件夹下
  • 原文地址:https://www.cnblogs.com/cjwnb/p/11608837.html
Copyright © 2011-2022 走看看