Linux之命令引入篇

简介:

    在了解计算机基础和Linux历史后通过以下知识,相信应该能开始着手学习Linux了吧.


1)如何登陆Linux?

wKiom1l7LkvR5P0DAAAPYJxS8Ms627.png

    login: 用户名 + Enter

    Password: 密码 + Enter


2)什么是终端?

     终端(Computer terminal)是用来让用户输入数据及显示其计算结果的机器。终端有些是全电子的,也有些是机电的。其又名终端机。

    Linux是多用户多任务的,在早期一台Unix主机连接多个终端机,让每个终端用户均可使用。

    wKioL1l7KmijYl4yAAAU4mbJzR4723.png

    Linux也模拟实现了UNIX的终端功能:

        物理终端:Console

        虚拟终端:/dev/tty# [1,7]

        图形终端:/dev/tty7

        模拟终端:/dev/pts/# [1,+oo)

    

3)用户接口:与内核交互的接口

    在Windows中:桌面

u=1890542426,2831379711&fm=27&gp=0.jpg

    

用户仅需双击图标即可完成用户与内核交互

    在Linux中: xprotocol  

        桌面:Gnome,KDE,XFCE(用于嵌入式环境)

            用户仅需双击图标即可完成用户与内核交互

        命令行:由sh,bash,csh,zsh,ksh程序提供

wKiom1l7LLOBNYi8AAAFK4Ojm6Y780.png

    输入命令+Enter键即可完成用户与内核交互


4)Linux的哲学思想

    1、一切皆文件,几乎所有资源都映射为文件:例如:设备 

    2、由众多单一目的的小程序组成复杂程序,例如:管道

    3、避免跟用户交互,实现shell编程

    4、文本编辑命令即可配置文本


5)文件:

    不能完成路径映射


6)目录:

    完成路径映射


7)文件名

    1、区分字符大小写

    2、/不能作为文件名,/为路径分隔符

    3、长度小于255个字符

    4、以.开头的文件为隐藏文件

    5、见名知义,单词的缩写; copy 的命令为cp


8)路径

    /etc/sysconfig/network-scripts

    工作目录:当前目录

        ./  指的是 network-scripts

    上一级目录:

        ../  指的是 sysconfig

    相对路径:从当前目录开始

        ./ifcfg-eth0

    绝对路径:从根开始

         /etc/sysconfig/network-scripts/ifcfg-eth0

    

9)程序的组成

    指令 + 数据(来自于文件,变量、数组、链表)

    算法 + 数据结构

    二进制文件、库文件、配置文件、帮助文件


10)命令提示符:

1
2
3
[root@izpo45bh60h6bsz ~]
     对于管理员:  #
     普通用户:$

    提示符后键入命令按Enter键:

        用户接口解析命令,分析命令,请求内核分配CPU时间片和内核资源将其运行为一个进程(动态)

        shell解析命令的过程:从定义的PATH环境变量中,从左而右依次查找目录下是否存在此命令,查找到,记录于缓存中以便二次查找,如果不存在,BASH命令报错。

1
2
3
4
5
6
[root@izpo45bh60h6bsz ~] # cat /etc/issue  #命令为cat,
\S
Kernel \r on an \m
 
[root@izpo45bh60h6bsz ~] # echo $PATH      #输入命令时,shell程序会从变量的路径中从左而右的查找
/usr/local/nginx/sbin : /usr/local/sbin : /usr/local/bin : /usr/sbin : /usr/bin : /root/bin


11)命令的格式

    wKioL1l7NyfjEzwEAAAGs2TMmCI194.png

    命令:

    命令的位置: 

            普通命令: bin中

            管理命令: sbin中

    选项:用于启用或关闭命令的某个或某些功能

1
2
3
4
5
6
7
8
9
10
[root@izpo45bh60h6bsz ~] # cat /etc/fstab
 
#
# /etc/fstab
# Created by anaconda on Fri Feb 24 02:58:22 2017
[root@izpo45bh60h6bsz ~] # cat -n /etc/fstab   #可以明显看出,-n启用了,可以查看每行编号的功能。
      1
      #
      # /etc/fstab
      # Created by anaconda on Fri Feb 24 02:58:22 2017

短选项: -c,-l,-h,多个选项间用空格分隔

    多个选项可合并,例如:-l -h = -hl,合并后的结果仍不会改变

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@izpo45bh60h6bsz ~] # ls -l -h /
total 1.5M
drwxr-xr-x   10 root  root   4.0K Jun 28 15:19 app
-rw-r--r--    1 root  root   1.4M Jul  3 16:04 app. tar .gz
lrwxrwxrwx.   1 root  root      7 Feb 24 10:58 bin -> usr /bin
dr-xr-xr-x.   4 root  root   4.0K Mar  3 12:27 boot
drwxr-xr-x    3 nginx nginx  4.0K Jun  2 21:26 cache
[root@izpo45bh60h6bsz ~] # ls -lh /
total 1.5M
drwxr-xr-x   10 root  root   4.0K Jun 28 15:19 app
-rw-r--r--    1 root  root   1.4M Jul  3 16:04 app. tar .gz
lrwxrwxrwx.   1 root  root      7 Feb 24 10:58 bin -> usr /bin
dr-xr-xr-x.   4 root  root   4.0K Mar  3 12:27 boot
drwxr-xr-x    3 nginx nginx  4.0K Jun  2 21:26 cache

长选项:--character,--human-readable

    长选项不能合并,合并使用时将会报错,多个选项间用空格分隔

1
2
3
4
5
6
7
8
9
10
[root@izpo45bh60h6bsz ~] # ls --all --human-readable
.         a.txt          .bash_profile   bin     .config  fstab     link_test1  mariadb-5.5.56-linux-i686. tar .gz  .pip              .rnd       .tcshrc  tomcat
..        .bash_history  .bashrc         b.sh    c.sh     gentoo    . local       .mysql_history                    .pki              slackware  test1    tomcat1
.ansible  .bash_logout   .bashrc_docker  .cache  .cshrc   .lesshst  manifests    passwd                             .pydistutils.cfg  . ssh        tmpfile  .viminfo
[root@izpo45bh60h6bsz ~] # ls --all--human-readable
ls : unrecognized option  '--all--human-readable'
Try  'ls --help'  for  more  information.
[root@izpo45bh60h6bsz ~] # ls --allhuman-readable
ls : unrecognized option  '--allhuman-readable'
Try  'ls --help'  for  more  information.

 混合使用:

1
2
3
4
5
6
7
8
9
[root@izpo45bh60h6bsz ~] # ls --all -lh
total 207M
drwxr-xr-x. 17 root      root      4.0K Jul 28 17:33 .
dr-xr-xr-x. 25 root      root      4.0K Jul 28 14:54 ..
drwx------   3 root      root      4.0K Jun 14 16:23 .ansible
-rw-r--r--   1 root      root         5 Jul 13 10:06 a.txt
-rw-------   1 root      root       20K Jul 28 18:14 .bash_history
-rw-r--r--.  1 root      root        18 Dec 29  2013 .bash_logout
-rw-r--r--   1 root      root       203 Jul 10 08:45 .bash_profile


参数:命令的作用对象

1
2
3
4
5
6
7
[root@izpo45bh60h6bsz ~] # ls
a.txt  bin  b.sh  c.sh  fstab  gentoo  link_test1  manifests  mariadb-5.5.56-linux-i686. tar .gz   passwd   slackware  test1  tmpfile  tomcat  tomcat1
[root@izpo45bh60h6bsz ~] # ls /tmp
123. file                                                                systemd-private-5dcdf14753784b8d848b77111bf5ef1e-systemd-machined.service-2X5usM  tmp.37EDkMuqcT
Aegis-<Guid(5A2C30A2-A87D-490A-9281-6765EDAD7CBA)>                     systemd-private-a5389471547d457d95c6184b005585f9-named.service-Bjy16G             tmp.KEBXHvNPLz
mykernel                                                               systemd-private-a5389471547d457d95c6184b005585f9-ntpd.service-Jqrn5o              tmp.XESks7mpp9
systemd-private-5dcdf14753784b8d848b77111bf5ef1e-named.service-U672aF  tmp.1GRvDKa1HN

当给出不同的参数,得出的结果,并不相同。

ls命令的作用是:list directory contents列出目录下的文件列表,传递不同的参数,将列出不同目录下的文件列表 。如果没有参数,默认为当前目录。


12)如何使用命令?

   命令的格式:

            windows: EXE,MSI

            linux: ELF

    命令的类型:

            shell自带的命令: 在文件系统所有路径下没有与之对应的程序文件

1
2
3
4
5
6
7
8
9
10
[root@izpo45bh60h6bsz ~] # type cd
cd  is a shell  builtin
 
[root@izpo45bh60h6bsz ~] # enable -n cd  ##禁用内部命令
[root@izpo45bh60h6bsz ~] # enable -n  ##显示所有被禁用的内部命令
enable  -n  cd
[root@izpo45bh60h6bsz ~] # enable cd  ##启动一个内部命令
[root@izpo45bh60h6bsz ~] # enable -n  ##显示所有被禁用的内部命令
[root@izpo45bh60h6bsz ~] # enable -a | fgrep cd  ##显示所有的内部命令
enable  cd

            外部命令:有独立的可执行文件

1
2
[root@izpo45bh60h6bsz ~] # type cat
cat  is  /usr/bin/cat


    shell自带命令:

       # help 命令(COMMAND)

1
2
3
[root@izpo45bh60h6bsz ~] # help cd
cd cd  [-L|[-P [-e]]] [ dir ]
     Change the shell working directory.

    外部命令:

        1)获取帮助: COMMAND --help

1
2
3
4
5
[root@izpo45bh60h6bsz ~] # cat --help
Usage:  cat  [OPTION]... [FILE]...
Concatenate FILE(s), or standard input, to standard output.
   -E, --show-ends          display $ at end of each line
   -n, --number             number all output lines

        2)帮助手册: man [CHAPTER] COMMAND

        man 查询如果没有给出具体章节,默认显示匹配到首个章节。

            帮助手册的位置: /usr/share/man

1
2
3
[root@izpo45bh60h6bsz ~] # ls /usr/share/man  #ls作用的对象为/usr/share/man目录,列出此目录下的所有文件和目录
cs  de  fr   id   ja  man0p  man1p  man2   man3   man3x  man4x  man5x  man6x  man7x  man8x  man9x  pl  pt_BR  sk   tr      zh_TW
da  es  hu  it  ko  man1   man1x  man2x  man3p  man4   man5   man6   man7   man8   man9   mann   pt  ru     sv  zh_CN

            不同帮助手册的意义:

                man1,man2,man3,....,man8

                    man1: 普通命令

1
[root@localhost ~] # man 1 ls (/bin/ls)

                    man2: 系统调用

1
[root@localhost ~] # man 2 read

                    man3: 库调用

                    man4: 设备

1
[root@localhost ~] # man 4 tty (/dev/tty)

                    man5:配置文件格式

1
[root@localhost ~] # man 5 passwd (/etc/passwd)

                    man6: 游戏

                    man7:杂项

                    man8:管理命令

1
[root@localhost ~] # man 8 init (/sbin/init)


            获取命令的帮助手册: whatis COMMAND

1
2
3
4
[root@localhost ~] # whatis passwd   #帮助手册的位置1,5都有
passwd                (1)  - update user's authentication tokens
passwd                (5)  - password  file
passwd  [sslpasswd]   (1ssl)  - compute password hashes

            注意获取命令是找到whatis数据库实现的,如果有新的man手册加入有必要运行命令:

1
# makewhatis

   

         查看指定手册的帮助: man # COMMAND   #[1,9]

1
2
3
4
5
6
7
8
9
10
[root@localhost ~] # man 1 passwd
PASSWD(1)                       User utilities                       PASSWD(1)
 
NAME
        passwd  - update user’s authentication tokens
[root@localhost ~] # man 5 passwd       
PASSWD(5)                  Linux Programmer’s Manual                 PASSWD(5)
 
NAME
        passwd  - password  file


                快捷键:

                    Ctrl用 ^表示

                    ^u: 向上翻半屏

                    ^d: 向下翻半屏

                    Enter: 向下翻一行

                    k:向上翻一行

                    space:向下翻一屏

                    b:向上翻一屏

                    q: 退出

                    #G:跳到指定行

                    G:最后一行

                    1G/gg:道行


               搜索:

                       /字符串 当前光标向下搜索

                        ?字符串 当前光标向上搜索

                            n 同向下一个

                            N 逆向下一个

     3)信息页:info

1
[root@localhost ~] # info ls  #显示命令的作者,所写的日期,等与此命令相关历史信息

      4)官方文档 Documentation

        Hadoop: hadoop.apache.org

        nginx : nginx.org

        apache: apache.org        

        5)发行商的文档: 

                redhat.com/docs


        6)谷歌、bing、百度










本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1951866,如需转载请自行联系原作者
目录
相关文章
|
9天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
10天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
16天前
|
Ubuntu 架构师 Java
Linux系统常用命令非常详细建议收藏
Linux系统常用命令非常详细建议收藏
48 0
|
6天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
28 9
|
1天前
|
域名解析 网络协议 Linux
Linux 中的 Nslookup 命令怎么使用?
【4月更文挑战第12天】
12 6
Linux 中的 Nslookup 命令怎么使用?
|
2天前
|
运维 网络协议 Unix
18.系统知识-Linux常用命令
18.系统知识-Linux常用命令
|
2天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
3天前
|
Linux Go
Linux命令Top 100驱动人生! 面试必备
探索Linux命令不再迷茫!本文分10部分详解20个基础命令,带你由浅入深掌握文件、目录管理和文本处理。 [1]: <https://cloud.tencent.com/developer/article/2396114> [2]: <https://pan.quark.cn/s/865a0bbd5720> [3]: <https://yv4kfv1n3j.feishu.cn/docx/MRyxdaqz8ow5RjxyL1ucrvOYnnH>
46 0
|
5天前
|
缓存 运维 监控
Linux系统监控利器:探索常用命令及数据保存技巧
Linux系统监控利器:探索常用命令及数据保存技巧
23 4
Linux系统监控利器:探索常用命令及数据保存技巧
|
8天前
|
Linux 索引
linux 文件查找 和文件管理常用命令
linux 文件查找 和文件管理常用命令
18 0