Linux 入门篇第四章

Linux 入门篇第四章

文章导航

  • 上一章说了很多常用命令和一些Linux入门
  • 这一章继续linux入门

命令类别

  • 在Linux使用命令,命令他是有类别的,也就是我们所说的内部命令外部命令
  • 那什么时候内部命令,所谓内部命令就是集成到shell,也就是集成在bash里面的命令就是内部命令
  • 有些命令是集成在硬盘里面的,叫外部命令
  • 那怎么查看内部命令
[root@CentOS6 ~]#type cd   这是查看是否是内部命令
cd is a shell builtin   出现这个就表示他是内部命令

[root@CentOS6 ~]#type ifconfig   
ifconfig is /sbin/ifconfig     出现这个就表示他是外部命令

  • 内部命令和shell集成在一块,外部命令都是一些的小程序
  • 内部命令依赖于shell类型,如果不是你要的shell,你可以自己安装一个
  • 大部分都是外部命令,内部命令都是一些常见命令
[root@CentOS6 ~]#help    列出所有内部命令,help本身是内部命令

[root@CentOS6 ~]#enable   也可以列出所有内部命令

[root@CentOS6 ~]#type -a pwd  显示出所有内部和外部命令
pwd is a shell builtin
pwd is /bin/pwd 

[root@CentOS6 ~]#type -P ls  显示外部命令的路径
/bin/ls

[root@CentOS7 ~]# which  ls         来查看外部命令的路径
alias ls='ls --color=auto'
        /usr/bin/ls 
[root@CentOS6 ~]#which -a pwd   显示所有PATH变量
/bin/pwd

[root@CentOS6 ~]#whereis ls  列出外部命令已经帮助文档路径
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

  • 内部命令不想用了还可以来禁用
[root@CentOS6 ~]#enable -n   来禁用命令  还可以禁用多个命令

[root@CentOS6 ~]#enable   在输入命令不需要加-n就启用被禁用的命令了

[root@CentOS7 ~]# enable -n   列出所有被禁用的命令

  • 如果一个命令,内部和外部都有,内部命令优先级最高
  • 外部命令一般是存在硬盘的某个路径下
  • 外部命令都是一个一个的文件,那我敲一个命令他为什么这么块找到这么命令
  • 那是因为他是依靠下面这个路径
[root@CentOS7 ~]# echo $PATH  这个很重要PATH路径
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

他依靠这写路径,如果找不到他就报错说找不到,如果他执行过一次以后他就放在内存里面了
  • 有的时候会出现这样的情况
[root@CentOS7 ~]# which ls   如果出现这样的情况,这就是别名
alias ls='ls --color=auto'
        /usr/bin/ls      

[root@CentOS7 ~]# which --skip-alias ls  这个选项可以忽略别名
/usr/bin/ls
  • 别名稍后在介绍

Hash缓存表

  • 系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。
  • 利用hash缓存表可大大提高命令的调用速率
[root@CentOS7 ~]# hash  这就是我用过的命令次数
hits    command
   1    /usr/bin/tty
   2    /usr/bin/nano
   1    /usr/bin/rz
   1    /usr/sbin/init
   5    /usr/bin/cat
   2    /usr/bin/id
   3    /usr/bin/w
   2    /usr/bin/ls
   4    /usr/bin/clear

  • hash常见用法:

    • hash 显示hash缓存
      • hash –l 显示hash缓存,可作为输入使用
      • hash –p path name 将命令全路径path起别名为name
      • hash –t name 打印缓存中name的路径
      • hash –d name 清除name缓存
      • hash –r 清除所有缓存
  • 命令执行规律,首先看是外部命令还是内部命令,如果是内部命令就直接执行了,如果是外部命令就看哈希表根据缓存表里面去找,如果有就执行了,如果没有,就去PATH变量里面一个一个去找,找到了就执行,如果找不到就报错了

别名

  • 所谓别名就是小名,昵称
  • 别名就是给别秒长的路径或经常用的路径给他取个名字,方便记忆
[root@CentOS7 ~]# cd /etc/sysconfig/network-scripts/  比如我给这个路径取一个别名

[root@CentOS7 ~]# alias cdnet="cd /etc/sysconfig/network-scripts/"    这就是我给他取的一个别名,cdnet,让后回车就可以了

[root@CentOS7 ~]# cdnet
[root@CentOS7 network-scripts]#   看直接来这个路径下了
  • alias 他本身是内部命令,如果直接输入alias他会显示出所有定义好的别名
[root@CentOS7 ~]# alias  所有别名
alias cdnet='cd /etc/sysconfig/network-scripts/'   这个是我刚加的
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'

  • 但是一退出就没有了,所以需要重新定义,我们要写到文件里
[root@CentOS7 ~]# nano .bashrc    进入这个文件,在里面输入

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias cdnet='cd /etc/sysconfig/network-scripts'

用 .  .bashrc  可以让你的文件生肖 不需要退出了

[root@CentOS7 ~]# . .bashrc    必须要区分空格,让别名生效

unalias   取消别名   -a取消所有别名
  • 让后保存,就可以了就算退出了,别名照样在
  • 也可以在下面这个路径下加,但是所有用户都会生效,不建议使用这个路径
[root@CentOS6 ~]#vi /etc/bashrc   这个路径下,不建议改,如果改了会全部用户生效
  • 如果你使用了别名,一定要使用命运本身,你可以使用下面方式
[root@CentOS6 ~]#'grep'      第一种方法

[root@CentOS6 ~]#\grep        第二种方法

命令语法格式

  • 命令格式总结
    • 执行命令的时候有时候他解决不了根本的问题,所以我们有时候我们就需要参数来帮我们来解决
    • 也就是参数方案 ,也就是命令 选项 参数
    • 选项在Linux里面有两种语法,一种是短格式,一种是长格式
COMMAND [OPTIONS...] [ARGUMENTS...]
选项:用于启用或关闭命令的某个或某些功能
短选项:-c 例如:-l, -h
长选项:--word 例如:--all, --human-readable
参数:命令的作用对象,比如文件名,用户名等
  • 长格式用的很少,短格式用的很多
  • 比如我来实验一个短格式
[root@CentOS6 ~]#ls
anaconda-ks.cfg  Downloads           Music     Templates
Desktop          install.log         Pictures  Videos
Documents        install.log.syslog  Public    新建文本文档.txt
  • 长格式选项
[root@CentOS6 ~]#ls --all
.                .cshrc     .gtk-bookmarks      Public
..               .dbus      .gvfs               .pulse
.abrt            Desktop    .ICEauthority       .pulse-cookie
anaconda-ks.cfg  Documents  .imsettings.log     .ssh
.bash_history    Downloads  install.log         .tcshrc
.bash_logout     .esd_auth  install.log.syslog  Templates
.bash_profile    .gconf     .local              Videos
.bashrc          .gnome2    Music               .viminfo
.cache           .gnote     .nautilus           .Xauthority
.config          .gnupg     Pictures            新建文本文档.txt

  • 功能虽然一样,一般是短格式居多,容易理解
  • 但是不是所有命令都有短格式和长格式,注意区分
  • 有时候选项是可以写在一块的,注意区分,在有些场合下前后是由区别的,大部分没有区别
  • 选项和参数大部分是不区分,但是大部分区别如:
[root@CentOS6 ~]#ls -l install.log
-rw-r--r--. 1 root root 50698 Oct 20 19:13 install.log
[root@CentOS6 ~]#ls  install.log  -l
-rw-r--r--. 1 root root 50698 Oct 20 19:13 install.log
  • 但是为了习惯就,经量不要这么写
  • 短格式可以写到一起
[root@CentOS6 ~]#ls -lh
total 104K
-rw-------. 1 root root 1.4K Oct 20 19:13 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4.0K Oct 20 23:46 Desktop
drwxr-xr-x. 2 root root 4.0K Oct 20 23:46 Documents
drwxr-xr-x. 2 root root 4.0K Oct 20 23:46 Downloads
-rw-r--r--. 1 root root  50K Oct 20 19:13 install.log
-rw-r--r--. 1 root root  10K Oct 20 19:11 install.log.syslog
drwxr-xr-x. 2 root root 4.0K Oct 20 23:46 Music
drwxr-xr-x. 2 root root 4.0K Oct 20 23:46 Pictures
drwxr-xr-x. 2 root root 4.0K Oct 20 23:46 Public
  • 但是长格式和短格式是不能写到一起
  • 文件参数一般是文件比较多,还可以用用户,比如:
[root@CentOS6 ~]#id -u root
0
  • 如果要一直执行多条命令,如:
[root@CentOS6 ~]#ls;pwd;hostname;alias
anaconda-ks.cfg  Documents  install.log         Music     Public     Videos
Desktop          Downloads  install.log.syslog  Pictures  Templates
/root
CentOS6.9
alias cdnet='vi /etc/sysconfig/network-scripts/ifcfg-eth0'
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 vi='vim'
  • 如果我一个命令写错了会出现这样结果
[root@CentOS6 ~]#ls;pwd;hoame;aias    
anaconda-ks.cfg  Documents  install.log         Music     Public     Videos
Desktop          Downloads  install.log.syslog  Pictures  Templates
/root
-bash: hoame: command not found
-bash: aias: command not found
  • 那我可以不可以一个命令一行,要这么干,但是这么做慎用
[root@CentOS6 ~]#ls\
> alias\
> hostname\

简单命令

[root@CentOS6 ~]#clock        硬件时间  -s  覆盖内核时间  -w  覆盖硬件服务器

[root@CentOS6 ~]#date       软件时间    

[root@CentOS6 ~]#ntpdate  ntp1.aliyun.com   时间同步服务器  这个网址是阿里云的时间服务器,你额可以同步其他的时间服务器

如果你想看中文时间需这样搞:
[root@CentOS6 ~]#LANG="zh_CN.UTF-8"
[root@CentOS6 ~]#date
2019年 10月 22日 星期二 20:24:55 CST
一般不用

[root@CentOS6 ~]#cal        日历
    October 2019    
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

由一个1752年的可以去查找下为什么,有一个很有意思的故事
[root@CentOS6 ~]#cal 09 1752 
   September 1752   
Su Mo Tu We Th Fr Sa
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

重启命令
[root@CentOS6 ~]#reboot    -f 强制重启   -p  切断电源

关机或重启:shutdown
shutdown [OPTION]... TIME [MESSAGE]
-r: 重启  now  马上重启
-h: 定时关机  一分钟后关机   如果有+号就是特点时间管理 如  +10就是1你分钟以后关机   还可以定时关机 如18:00 关机  还可以发消息  如

-c:取消关机

其他链接

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,338评论 0 5
  • linux基础入门 linux是一门开源稳定性高实用的全文本的操作系统,一般实用于服务器,我们国家大多数互联网公司...
    数据革命阅读 314评论 0 0
  • 一、用户登录 root 用户一个特殊的管理帐户也被称为超级用户。 Centos7中root的id是0 普通(非特权...
    不知岁月惜阅读 821评论 0 0
  • 一、VMware的使用和Linux系统的安装1、VMware的快照、挂起的作用 快照:保存某一个状态,连命令行的输...
    seeiy阅读 1,898评论 0 1
  • Linux学习任重道远,对于初学者来说,看到多如繁星的命令,就让人望而却步,接下来就说说Linux命令的一些入门学...
    靜默阅读 396评论 0 0