首页 > 系统服务 > 详细

Linux 基础入门(二)

时间:2017-02-07 00:03:21      阅读:502      评论:0      收藏:0      [点我收藏+]

Linux 基础入门

=====================================================================

概述:


=====================================================================

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用户

  • 一个有特殊的管理账户,也称为超级用户,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中的可执行命令:

内建命令(bulitin)

  • 由shell自带的,而且通过某命令形式提供;

  • ~]# enable COMMAND 启用内建命令

  • ~]# enable -n COMMAND 禁用内建命令

外部命令

  • 在当前系统的某文件路径下有对应的可执行程序文件;

  • 可通过which、whereis 命令来查找到期可执行的程序文件

  • 外部命令的路径:# echo $PATH  (PATH是一个变量,定义了若干个目录,放了程序的文件夹)

如何查看一个命令是内建命令还是外部命令?

  • 通过type命令,格式:type  COMMAND (注意linux严格区分大小写)如:~]# type cd

hash命令

  • 记录或显示程序的位置(可执行程序的位置)

  • 搜寻到的外部命令路径结果缓存至kv(key-value)存储中。

  • ~]# hash -d :表示清空指定命令的缓存,如:hash -d ls

  • ~]# hash –r :表示清空所有命令的缓存, hash -r

alias 定义别名

  • # alias 定义别名 ;# unalias 取消别名(是临时生效的)  

  • 别名的优先顺序是大于原始命令。

  • 想要执行原始命令方法:直接输入路径、使用 \ (反斜线) 或 ` `(单引号)

命令执行的顺序:别名>内建>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

  • 多个命令可以用 ;符号分开;

  • 一个命令可以用 \ 分成多行;





本文出自 “逐梦小涛” 博客,请务必保留此出处http://1992tao.blog.51cto.com/11606804/1895451

Linux 基础入门(二)

原文:http://1992tao.blog.51cto.com/11606804/1895451

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!