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,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
420 1
二、Linux文本处理与文件操作核心命令
|
2月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
290 137
|
2月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
677 57
|
5月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
503 143
linux命令—tree
|
1月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
402 2
|
2月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
274 0
Linux内存问题排查命令详解
|
2月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
274 16
|
4月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
817 13
|
5月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
953 21
|
5月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
431 13