Linux 基础入门二

1、远程连接
  ssh协议:secure shell
  ~]# ss -tnl 查看系统是否监听在tcp协议的22号接口;
  ~]# ip addr list 或者 ifconfig 查看ip地址

  确保防火墙处于关闭状态:
  ~] # iptables -L -n

  关闭防火墙:
  CentOS 7
  ~]# systemctl disable firewalld.service
  ~]# systemctl stop firewalld.service
  CentOS 6
  ~]# service iptables stop
  ~]# chkconfig iptables off


2、用户登录
  root用户:一个特殊的管理账户,也称为超级用户,对系统有最高控制权限,建议使用非管理员账号登录,需要管理员权限时切换至管理员,操作完成后退出
  普通用户:权限有限,对系统造成损害的能力比较有限
注意:
  Linux系统中默认的管理员用户为root,系统判断用户是管理员还是普通用户,是通过用户的UID是否是0来判断
  id 显示当前登录用户信息
   -u 显示当前用户的UID信息
   -u UserName 显示指定用户的UID信息
    普通用户的UID编号:CentOS 6中默认从500开始编号,CentOS 7中默认从1000开始编号

3、命令提示符
管理员提示符为#,普通用户提示符为$
 echo $PS1
 [u@h W]$
 u当前用户名 h主机名 W工作目录的路径基名

 basename 显示当前路径的基名(后面参数为一个路径,基名就是路径的最后一个“/”后面的内容)
 dirname  显示当前路径的目录名(后面参数为一个路径,目录名就是除去基名外的目录路径)
  命令执行过程:Shell程序找到键入的命令所对应的可执行程序的代码,并由其分析后提交给内核分配资源将其运行起来,表现为一个或多个进程
分层结构图

4、在shell中的可执行命令:
  内建命令(bulitin)
  由Shell程序自带的功能,通过某命令形式提供出来
  enable COMMAND 启用内建命令
  enable -n COMMAND 禁用内建命令

  外部命令
    在文件系统上的某个位置有一个与命令名称对应的可执行文件
    可通过which、whereis 命令来查找可执行程序文件位置
  shell事先通过一个PATH变量设定好了多个路径,当用户输入命令时,shell会自动到这些路径(由左向右)依次查找与命令名称相同的可执行文件

  使用type命令来判断命令是外部命令还是内部命令
    type COMMAND
     -t 输出“file”、“alias”或者“builtin”,分别表示给定的命令为“外部指令”、“命令别名”或者“内部指令”
    -p 如果给定命令为外部命令,则显示其绝对路径
    -a 显示给定命令的类型和绝对路径

  hash命令
   用来保存以前曾经执行过的命令,以哈希表的方式保存(缓存为key-value格式),可以通过hash来查看(用于快速找到命令执行)
    hash 列出命令的缓存
    -d 表示清空指定命令的缓存,如:hash -d ls
   -r 表示清空所有命令的缓存, hash -r

  alias 定义别名
    alias 定义别名
  unalias 取消别名(临时生效)
  在命令前加使用命令本身,而不是别名(或者使用绝对路径执行命令使用命令本身)
  仅对当前用户生效:~/.bashrc
  对所有用户生效:/etc/bashrc
  配置文件配置后不会立即生效需要重新运行配置文件
   source /etc/bashrc
   . /etc/bashrc

  命令执行查找顺序:别名>内建>hash>$PATH

演示:
  内建命令
  [root@CentOS6 ~]# type cd
  cd is a shell builtin # 内建命令
  [root@CentOS6 ~]# enable -n cd
  [root@CentOS6 ~]# cd /etc
  -bash: cd: command not found
  [root@CentOS6 ~]# enable cd
  [root@CentOS6 ~]# cd /
  [root@CentOS6 /]# ls
  bin boot dev etc home lib lib64 lost+found media misc mnt net nfs opt

  外部命令
  [root@CentOS6 ~]# type date
  date is /bin/date # 外部命令显示的是路径

  # 查看外部命令对应的路径
  [root@CentOS6 ~]# which date
  /bin/date
  [root@CentOS6 ~]# whereis date
  date: /bin/date /usr/share/man/man1/date.1.gz /usr/share/man/man1p/date.1p.gz

  # 所有的外部命令都在PATH变量中,执行顺序从左到右
  [root@CentOS6 ~]# echo $PATH
  /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

  hash命令
  # 缓存的外部命令
  [root@centos7 ~]# hash
  命中 命令
  2 /usr/sbin/iptables
  1 /usr/sbin/ifconfig
  1 /usr/bin/cat
  1 /usr/bin/locale
  1 /usr/bin/yum
  3 /usr/bin/ping
  3 /usr/bin/ls
  1 /usr/sbin/ip
  # 清空指定的缓存命令
  [root@centos7 ~]# hash -d iptables
  [root@centos7 ~]# hash
  命中 命令
  1 /usr/sbin/ifconfig
  1 /usr/bin/cat
  1 /usr/bin/locale
  1 /usr/bin/yum
  3 /usr/bin/ping
  3 /usr/bin/ls
  1 /usr/sbin/ip

  # 清空命令缓存
  [root@centos7 ~]# hash -r
  [root@centos7 ~]# hash
  hash: 哈希表为空

  alish 命令别名
  [root@CentOS6 ~]# alias
  alias cp='cp -i'
  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'

5、运行命令:
  命令格式:
  COMMAND [OPTIONS] [ARGUMENTS]
  命令    选项      参数

  选项:调整命令的执行特性的;选项可以有多个,多个选项之间必须以空格分隔
  短选项:-char(字符)
  长选项:--word(单词)
  两个短选项可以合并,长选项一般不可以合并;有些选项需要有参数

 命令参数:命令的作用对象;有些命令可以带多个参数,各参数之间需要使用空格隔开
  注意:
    取消和结束命令执行:Ctrl+c
    多个命令可以用";"隔开同时执行
    一条命令可以用""分成多行

  发起命令:请求内核将某个二进制程序文件运行为一个进程
    程序—> 进程
    静态—> 动态
  程序文件没有生命周期,进程有生命周期

  命令本身是一个可执行的程序文件,二进制格式的文件,有可能会调用共享库文件
  多数系统程序文件都存放在:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin
    普通命令:/bin,/usr/bin,/usr/local/bin
    管理命令:/sbin,/usr/sbin,/usr/local/sbin

  共享库:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64
    32bits库:/lib,/usr/lib,/usr/local/lib
    64bits库:/lib64,/usr/lib64,/usr/local/lib64
  命令必须遵循特定格式规范:exe、msi、ELF(Linux)

演示:
[root@centos7 ~]# 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]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped

6、CentOS 7设置程序环境
  localectl
    status:显示当前状态
    list-locales :列出支持的所有的程序环境
    set-locale LOCALE... 设定程序环境

演示:
# 当前程序环境
[root@CentOS7 ~]# 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=

# 设置为中文的语言环境

[root@centos7 ~]# localectl set-locale LANG=zh_CN.utf8 
[root@centos7 ~]# localectl status
System Locale: LANG=zh_CN.utf8
VC Keymap: cn
X11 Layout: cn

# 重启之后就可以获得中文的语言环境了
[root@centos7 ~]# locale
LANG=zh_CN.utf8
LC_CTYPE="zh_CN.utf8"
LC_NUMERIC="zh_CN.utf8"
LC_TIME="zh_CN.utf8"
LC_COLLATE="zh_CN.utf8"
LC_MONETARY="zh_CN.utf8"
LC_MESSAGES="zh_CN.utf8"
LC_PAPER="zh_CN.utf8"
LC_NAME="zh_CN.utf8"
LC_ADDRESS="zh_CN.utf8"
LC_TELEPHONE="zh_CN.utf8"
LC_MEASUREMENT="zh_CN.utf8"
LC_IDENTIFICATION="zh_CN.utf8"
LC_ALL=

原文地址:https://www.cnblogs.com/Link-Luck/p/9848465.html