您的位置:首页 > 运维架构 > Linux

Linux 基础入门(二)

2017-02-06 23:30 302 查看
Linux 基础入门=====================================================================概述:
=====================================================================

Linux入门基础

1.远程连接
[b][b][b][b]★[/b][/b][/b][/b]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用户一个有特殊的管理账户,也称为超级用户,root已经接近完整的系统控制,对系统损害几乎有无限的能力,除非必要,不然不要登录root
普通(非特权)用户权限有限,对系统造成损害的能力比较有限;
建议使用非管理员账号登录,执行管理操作临时切换至管理员,操作完成即退回;
注意:Linux系统中默认的管理员用户为root,但这只是一个名字而已,是可以切换的。系统判断是管理员还是普通用户,是看用户的UID(User ID 用户ID编号),管理员的UID是0,普通用户的不是;
显示命令:~]# id -u (显示自己的id) ~]# id -u tao (显示tao的id)
在CentOS 6 中默认是从500开始编号的,CentOS 7中默认是从1000开始编号的
3.命令提示符
[root@localhost ~]#我们称之为PS1,靠环境变量定义,其组成部分可以使用echo命令来显示:echo $PS1
格式:[\u@\h \ W]\$
# 表示命令提示符,提示符有两种:
① # :表示管理员账号,为root;拥有最高权限,能执行所有操作; ② $ :表示普通用户,非root用户,不具有管理权限,不能执行系统管理类操作 因此可以通过命令提示符来判断管理员登录还是普通用户登录!输入命令,然后回车,提请shell程序找到键入的命令所对应的可执行程序的代码,并由其分析后提交给内核分配资源将其运行起来,表现为一个或多个进程。附图: 分层结构图


演示:
[root@centos7 ~]# cat .bashrc
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

PS1="\[\e[36;40m\][\[\e[32;40m\]\u\[\e[0m\]@\[\e[33;40m\]\h \[\e[36;40m\]\W\[\e[36;40m\]]\[\e[0m\]\\$ "

[root@centos7 ~]# echo $PS1
\[\e[36;40m\][\[\e[32;40m\]\u\[\e[0m\]@\[\e[33;40m\]\h \[\e[36;40m\]\W\[\e[36;40m\]]\[\e[0m\]\$

4.在shell中的可执行命令:
shell程序是独特的程序,负责解析用户提供的命令环境变量:PATH :从哪些路径中查找用户键入的命令字符串所对应的命令文件
~]# echo $PATH
内建命令(bulitin)由shell自带的,而且通过某命令形式提供;
~]# enable COMMAND 启用内建命令
~]# enable -n COMMAND 禁用内建命令
外部命令
在当前系统的某文件路径下有对应的可执行程序文件,文件名即命令名;
可通过which、whereis 命令来查找到期可执行的程序文件
外部命令的路径:# echo $PATH (PATH是一个变量,定义了若干个目录,放了程序的文件夹)
※如何查看一个命令是内建命令还是外部命令?通过type命令,格式:type COMMAND (注意linux严格区分大小写)如:~]# type cd
hash命令记录或显示程序的位置(可执行程序的位置)
搜寻到的外部命令路径结果缓存至kv(key-value )存储中。key:搜索键 ;valure:值
~]# hash :列出命令的缓存
~]# hash -d :表示清空指定命令的缓存,如:hash -d ls
~]# hash –r :表示清空所有命令的缓存, hash -r
alias定义别名
# alias 定义别名 ;# unalias 取消别名(是临时生效的)
别名的优先顺序是大于原始命令。
想要执行原始命令方法:直接输入路径、使用 \ (反斜线) 或 ` `(单引号)
[b][b]★[/b][/b]命令执行的顺序:别名>内建>hash>$PATH
演示: 1.内建命令
[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
2.外部命令
[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
3.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: 哈希表为空
4.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] 命令 选项 参数选项:用于启用或关闭命令的某个或某些功能(指定程序的运行特性);如:ls的-l -h选项短选项:-c, 例如:ls的 -l, -h
长选项:--word,例如:--all, --human-readable
参数:命令的作用对象(就是向命令提供数据的),比如文件名,用户名等;
命令的参数可以有多个;
注意:多选项,以及多参数和命令之间使用空白字符分隔
取消和结束命令执行:Ctrl+c
多个命令可以用 ;符号分开;
一个命令可以用 \ 分成多行;
=========================================================================发起一命令:请求内核将某个二进制程序运行为一个进程程序 ---> 进程
静态 ---> 动态(有生命周期)
[b]★[/b]命令本身是一个可执行的程序文件,二进制格式的文件,有可能会调用共享库文件多数系统程序文件都存放在:/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/lib6432bits库:/lib,/usr/lib,/usr/local/lib
64bits库:/lib64,/usr/lib64,/usr/local/lib64

[b]★[/b]命令必须遵循特定格式规范:
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=
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux基础入门