zoukankan      html  css  js  c++  java
  • Linux 基础命令

    0001,启动linux图形界面

    • startx

    0002,设置系统区域,语言等

    • local:查看当前系统的的locale信息

      $ locale
      LANG=en_US.UTF-8
      LC_CTYPE="en_US.UTF-8"
      LC_NUMERIC="en_US.UTF-8"
      LC_TIME="en_US.UTF-8"
      LC_COLLATE="en_US.UTF-8"
      LC_MONETARY="en_US.UTF-8"
      LC_MESSAGES="en_US.UTF-8"
      LC_PAPER="en_US.UTF-8"
      LC_NAME="en_US.UTF-8"
      LC_ADDRESS="en_US.UTF-8"
      LC_TELEPHONE="en_US.UTF-8"
      LC_MEASUREMENT="en_US.UTF-8"
      LC_IDENTIFICATION="en_US.UTF-8"
      LC_ALL=
      
    • localectl:修改locale显示出来的信息。

      • localectl -h:查看帮助

      • list-locales:列出所有可以使用的locale信息,各个国家都有

      • set-locale:修改locale信息

        用中文显示系统:localectl set-locale LANG=zh_CN.utf8

        LC_CTYPE等都可以修改。localectl set-locale LC_CTYPE=xxx

        还可以使用LC_ALL一次修改所有LC_的值。

    0003,查看是否启动了ssh进程,也就是查看是否监听tcp协议的22端口,只有启动了ssh,才能在远程访问此系统。

    • ss -tnl

    0004,查看自己的ip地址

    • ifconfig
    • ip addr list

    0005,关闭防火墙

    • centos7:
      • systemctl disable firewalld.service
      • systemctl stop firewalld.service
    • centos6:
      • service iptables stop
      • chkconfig iptables off

    0006,查看使用的是什么shell

    • echo $SHELL

    0007,终端种类

    • 物理终端:console(/dev/console)
    • 虚拟终端:tty(/dev/tty#)#:数字
    • 串行终端:ttys(/dev/ttys#)#:数字
    • 伪终端:pts(/dev/pts/#)#:数字

    0008,查看当前终端编号

    • tty

    0009,关机(poweroff),重启(reboot)

    0010,取得名字

    • basename

      $ basename /usr/local/bin/docker-compose
      docker-compose
      $ basename /usr/local/bin/
      bin
      

    0011,取得路径

    • dirname

      $ dirname /usr/local/bin/docker-compose
      /usr/local/bin
      [ys@localhost ~]$ dirname /usr/local/bin/
      /usr/local
      

    0012,查看文件类型

    • file

      $ file /bin/ls
      /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=ceaf496f3aec08afced234f4f36330d3d13a657b, stripped
      

      linux系统里的可执行文件的类型是ELF格式的

      文件文件的类型是ASCII。

      库文件的类型是shared library

      软连接的类型是Symbolic links

    0013,linux系统里命令分类

    • buildin(嵌入到shell进程里的命令):这个命令的代码是和shell的代码是一起编译出来的,所以在磁盘上不存在此命令对应的可执行文件。比如cd命令。

    • 外部命令:装载磁盘上的可执行文件到内存,并执行。比如ls命令。其实在终端输入ls后,实际执行的是ls --color=auto。如果就想要执行ls怎么办呢?使用command,就可以了。

    • 使用type命令可以查看命令是外部命令还是buildin命令。

      $ type cd
      cd is a shell builtin
      $ type ls
      ls is aliased to `ls --color=auto'
      
    • shell在执行用户输入的命令后,如果是外部命令,则shell进程必须找到外部命令所对应的可执行文件在哪里,找到后加载到内存中并执行它。但是shell是怎么找到ls命令的可执行文件的呢?是通过查找环境变量PATH,来查找的,查找是从左到右,只要找到了就不去后面的路径里找了,所以如果在2个目录里都有ls命令的可执行文件,则使用最左面的。目录间用冒号分隔。

      $ echo $PATH
      /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ys/.local/bin:/home/ys/bin
      

    0014,获取命令使用帮助

    • 获得简要格式的使用帮助

      • buildin:help COMMAND
      • 外部:COMMAND --help
    • 获得详细的帮助手册

      帮助手册文件存放在/usr/share/man/下。有的命令的帮助手册是分章节的,章节的帮助手册存放在/usr/share/man/man#(数字和字母)/目录下。

      $ ls /usr/share/man/
      man1   man2  man3  man4  man5  man6   man7  man8 
      
      • man1下:用户命令

      • man2下:系统调用函数

      • man3下:C库函数

      • man4下:设备文件及特殊文件

      • man5下:文件格式(配置文件格式)

      • man6下:游戏使用帮助

      • man7下:杂项

      • man8下:管理工具及守护进程

      • man COMMAND:从man1到man8查找,找到就显示。但有的命令会放在多个man目录下,所以想看特定章节下的使用帮助,则必须使用数字,来告诉man命令,显示哪个章节的。

        例如:命令passwd,既在man1下有,也在man5下也有,如果不指定数字,则只显示man1下的使用帮助,指定数字5,就显示man5下的使用帮助。

        $ man 5 passwd
        
        • name:功能性说明

        • synopsis:语法

          []:可选内容

          <>:必须提供的内容

          a|b|c:多选一

          ...:同类可以出现多次

        • description:功能描述

        • example:使用例子

        • author:作者

        • bugs:报告bug的方式

        • see also:参考

      • 如何查看命令在哪些章节里有呢?whatis command

        $ whatis ls
        ls (1)               - list directory contents
        ls (1p)              - list directory contents
        

        发现在目录/usr/share/man/man1和/usr/share/man/man1p下都有passwd的使用帮助手册。

        所以可以使用man 1 lsman 1p ls来查看ls的使用帮助。

      • 并不是所有命令都可以使用whatis来调查,当自己装了可执行程序后,whatis就查不到它。因为whatis是查询数据库的,这时就使用makewhatis命令,把新装的可执行程序加入到数据库里后,whatis就可以调查它了。

    • 浏览帮助手册的方法

      • 向下翻一屏:空格
      • 向上翻一屏:b
      • 向下翻半屏:ctrl+d
      • 向上翻半屏:ctrl+u
      • 向下翻一行:回车
      • 向上翻一行:k
      • 跳到最后一行:G
      • 跳到第一行:1G
      • 跳到任何行:#(行号)G
    • 搜索帮助手册的方法

      • /target:区分大小写,从上往下搜索。
        • n:往下搜索下一个
        • N:往上搜索上一个
      • ?target:区分大小写,从下往上搜索。
        • n:往上搜索上一个
        • N:往下搜索下一个
    • 去指定目录找帮助手册

      使用-M选项,后加手册文件所在的目录

    • 获取在线的帮助文档

      • info command
    • 很多程序自带帮助文档:/usr/share/doc/app-version

      • README:相关信息
      • INSTALL:安装信息
      • CHANGES:版本改动信息
    • 主流发行版官方文档

      红帽:http://www.redhat.com/doc

    • 程序的官方文档:去官方站点找。

    0015,切换目录cd

    • 切换到上一次所在的目录:cd -
      • 环境变量PWD:存放当前所在的目录。用echo $PWD验证
      • 环境变量OLDPWD:存放上一次所在的目录。用echo $OLDPWD验证
    • 切换到别的user的家目录:cd ~user。bash下好用。必须有权限才可以。

    0016,显示目录下有哪些文件ls

    • -a:显示所有文件,包含隐藏文件
    • -A:显示所有文件,包含隐藏文件,但是不显示【.】和【..】
    • -l:显示详细信息,
      • 第一个数字:表示文件被硬链接的次数
      • 第二个数字:文件的大小,单位是字节
    • -h:对单位字节进行换上,变成容易读
    • -d:查看目录自身的属性,而不是目录下文件的属性。通常和-l一起使用。
    • -r:逆序显示
    • -t:按文件的最后一次修改时间排序,最后被修改的放在最前面;配和-r,就能够把最后被修改的文件放到最后面。
    • -R:递归显示子目录

    0017,把文件里的内容连接到一起,显示到标准输出cat

    • -n:给内容加上行号

    • -E:显示行结束符

      cat -nE /etc/issue /etc/fstab
           1  S$
           2  Kernel 
       on an m$
           3  $
           4  $
           5  #$
           6  # /etc/fstab$
           7  # Created by anaconda on Fri Nov 29 16:44:28 2019$
           8  #$
           9  # Accessible filesystems, by reference, are maintained under '/dev/disk'$
          10  # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info$
          11  #$
          12  /dev/mapper/centos-root /                       xfs     defaults        0 0$
          13  UUID=3d3b316a-529e-484a-9895-e785fdde5365 /boot                   xfs     defaults        0 0$
          14  /dev/mapper/centos-home /home                   xfs     defaults        0 0$
          15  /dev/mapper/centos-swap swap                    swap    defaults        0 0$
      

    0018,把cat命令显示出来的内容反转过来。tac

    0019,回显。echo后面的字符串可以是单引号,也可以是双引号

    • 单引号:里面的变量不执行替换。

    • 双引号:里面的变量执行替换。

      #echo "$SHELL"
      /bin/bash
      # echo '$SHELL'
      $SHELL
      
    • 在bash里变量的正规引用是:${name}

    • -n:不换行

    • -e:让转意字符生效

      echo -e "hello 
      world"
      hello
      world
      

    0020,关机,重启shutdown

    • shutdown [OPTIONS...] [TIME] [WALL...]
    • -h:关机
    • -r:重启
    • -c:取消
    • time:
      • now:马上
      • hh:mm:指定时间
      • +m:几分钟后
    • WALL:发送给所有终端的信息
    # shutdown -r +5 "shutdown in 5 minii"
    # shutdown -c "cancle shutdown in 5 minii"
    

    0021,linux里面有2种时钟,硬件时钟和系统时钟

    0022,显示系统时钟时间date [OPTION]... [+FORMAT]

    • FORMAT:

      %a     locale's abbreviated weekday name (e.g., Sun)
      %A     locale's full weekday name (e.g., Sunday)
      %b     locale's abbreviated month name (e.g., Jan)
      %B     locale's full month name (e.g., January)
      %c     locale's date and time (e.g., Thu Mar  3 23:05:25 2005)
      %C     century; like %Y, except omit last two digits (e.g., 20)
      %d     day of month (e.g., 01)
      %D     date; same as %m/%d/%y
      %e     day of month, space padded; same as %_d
      %F     full date; same as %Y-%m-%d
      %T     time; same as %H:%M:%S
      ...
      
      # date +%F
      2019-12-12
      # date +%T
      18:11:03
      # date +"%F %T"
      2019-12-12 18:14:59
      # date +%F~%T
      2019-12-12~18:15:10
      

    0023,修改当前系统时钟时间date [MMDDhhmm[[CC]YY][.ss]]

    0024,显示硬件时钟clock和hwclock

    0025,修改硬件时钟时间

    • -s:--hctosys:把硬件时钟时间调整成系统时钟时间
    • -w:--systohc:把系统时钟时间调整成硬件时钟时间

    0026,查看日历cal

    • 查看某年的日历:cal 2019
    • 查看某年某月的日历:cal 12 2019
    • 查看当前月的日历:cal

    0027,查看哪些命令是别名命令alias

    # alias
    alias cp='cp -i'
    alias egrep='egrep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias grep='grep --color=auto'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias mv='mv -i'
    alias rm='rm -i'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
    
    • 自定义别名alias name='command'注意:只在当前shell进程里有效。

      $ alias ll='ls -lrt'
      
    • 撤销别名: unalias name

    0028,查找可执行程序,存放在哪里

    • 语法:which [options] programname [...]

    • ----skip-alias:不显示别名,只显示存放路径。

      # which --skip-alias ls
      /usr/bin/ls
      

    0029,查找可执行程序,可执行程序对应的源代码,可执行程序对应的帮助文件,存放在哪whereis

    • 语法:whereis [options][-BMS directory... -f] name...
    • -b:只显示可执行程序,存放在哪
    • -m:只显示帮助文件,存放在哪
    • -s:只显示源代码,存放在哪

    0030,查看谁登录的系统who

    • 语法: who [OPTION]... [ FILE | ARG1 ARG2 ]
    • -b:最近一次的系统启动时间。
    • -d:显示死亡的进程
    • -l:显示login processes
    • -u:和直接用who差不多,多了2列,其中一列是进程id。
    • -r:显示运行级别

    0031,查看谁登录的系统,和这些人在运行什么进程w

    pts/1是终端的类型,是虚拟终端,编号为1.

    IDLE:是多久没有操作终端了。

    what:是正在运行哪个进程。

    $ w
     19:41:10 up  1:14,  4 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/1    192.168.0.104    18:27    1:26   0.11s  0.11s -bash
    root     pts/2    192.168.0.104    19:18    6.00s  0.06s  0.01s w
    

    c/c++ 学习互助QQ群:877684253

    本人微信:xiaoshitou5854

  • 相关阅读:
    OS X EI Capitan 安装mysql-5.7.9
    CAS SSO
    单点登录SSO
    videojs 视频开发API
    NodeJS无所不能:细数10个令人惊讶的NodeJS开源项目
    程序员使用Node的十个技巧
    pdf 回退快捷键
    公式神器 Mathpix Snip 比mathtype快
    AI studio 尝试
    tmux 使用
  • 原文地址:https://www.cnblogs.com/xiaoshiwang/p/12038429.html
Copyright © 2011-2022 走看看