谢烟客---------Linux之命令引入篇

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

1)如何登陆Linux?

login: 用户名 + Enter

Password: 密码 + Enter

2)什么是终端?

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

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

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

物理终端:Console

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

图形终端:/dev/tty7

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

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

在Windows中:桌面

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

在Linux中

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

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

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

输入命令+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)命令提示符:

[[email protected] ~]# 
    对于管理员: #
    普通用户:$

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

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

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

[[email protected] ~]# cat /etc/issue  #命令为cat,
\S
Kernel \r on an \m

[[email protected] ~]# echo $PATH      #输入命令时,shell程序会从变量的路径中从左而右的查找
/usr/local/nginx/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

11)命令的格式

 命令:

命令的位置:

普通命令: bin中

管理命令: sbin中

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

[[email protected] ~]# cat /etc/fstab

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

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

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

[[email protected] ~]# 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
[[email protected] ~]# 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

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

[[email protected] ~]# 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
[[email protected] ~]# ls --all--human-readable
ls: unrecognized option ‘--all--human-readable‘
Try ‘ls --help‘ for more information.
[[email protected] ~]# ls --allhuman-readable
ls: unrecognized option ‘--allhuman-readable‘
Try ‘ls --help‘ for more information.

混合使用:

[[email protected] ~]# 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

参数:命令的作用对象

[[email protected] ~]# 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
[[email protected] ~]# 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自带的命令: 在文件系统所有路径下没有与之对应的程序文件

[[email protected] ~]# type cd
cd is a shell builtin

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

[[email protected] ~]# type cat
cat is /usr/bin/cat

shell自带命令:

# help 命令(COMMAND)

[[email protected] ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
    Change the shell working directory.

外部命令:

1)获取帮助: COMMAND --help

[[email protected] ~]# 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

[[email protected] ~]# 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: 普通命令

[[email protected] ~]# man 1 ls (/bin/ls)

man2: 系统调用

[[email protected] ~]# man 2 read

man3: 库调用

man4: 设备

[[email protected] ~]# man 4 tty (/dev/tty)

man5:配置文件格式

[[email protected] ~]# man 5 passwd (/etc/passwd)

man6: 游戏

man7:杂项

man8:管理命令

[[email protected] ~]# man 8 init (/sbin/init)

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

[[email protected] ~]# whatis passwd   #帮助手册的位置1,5都有
passwd               (1)  - update user‘s authentication tokens
passwd               (5)  - password file
passwd [sslpasswd]   (1ssl)  - compute password hashes

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

# makewhatis

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

[[email protected] ~]# man 1 passwd
PASSWD(1)                       User utilities                       PASSWD(1)

NAME
       passwd - update user’s authentication tokens
[[email protected] ~]# 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

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

4)官方文档 Documentation

Hadoop: hadoop.apache.org

nginx : nginx.org

apache: apache.org

5)发行商的文档:

redhat.com/docs

6)谷歌、bing、百度

时间: 2024-11-08 18:17:00

谢烟客---------Linux之命令引入篇的相关文章

浮躁时代的安静角落——《Linux大棚命令百篇》

曾几何时,急功近利.揠苗助长之风吹遍了整个互联网行业,孜孜不倦.循序渐进技术博客Linux大棚成了这个浮躁时代的安静角落,博主多年如一日的积累汇聚成了一本<Linux大棚命令百篇>. 与适合作为系统学习的教材的<循序渐进Linux>不同,<Linux大棚命令百篇>的最大特点就是取材于Linux大棚,以博客系列文章的形式组织全书,在文风轻松生动.诙谐风趣的同时又不失知识的结构化和系统化,不但可以作为案头书,也能在欧阳修的"三上"像读小说一样阅读. 本书

Linux常用命令-入门篇(一)

1    For循环 语法:begin for i in reverse 1..10 loop insert into users values(i,'奥巴马'): end loop: end; 注意:循环变量 i 是隐含增加的,所以无法看到 2    goto语句 goto 语句用于跳转到特定的位置去执行语句.由于goto语句会减少程序的可读性,所以一般情况下 不建议使用goto语句 3    null语句 null语句不会执行任何操作,但是可以增加程序的可读性 4    创建返回值是一个结果

Linux基础命令ls篇

本人是刚入门的菜鸟一枚,对于博文也是第一次写,请各位多多担待,欢迎大家指出错误. ls是最常用的基础命令之一,也是大部分菜鸟初学Linux时学习的第一个命令,此命令一般用于查看当前目录或者目录下的文件. 关于命令具体的使用方法如下: 命令格式:ls[选项]... [目录名称] 命令功能:显示当前目录或指定目录下的文件. 命令参数:(因"ls"命令选项参数过多,以下只介绍几个常用的命令,关于详细使用请执行"man ls"命令来获取帮助) ls -a:显示所有文件(包含

[linux time命令学习篇] time 统计命令执行的时间

注意: 命令后面一定要有分号; http://codingstandards.iteye.com/blog/798788 用途说明 time命令常用于测量一个命令的运行时间,注意不是用来显示和修改系统时间的(这是date命令干的事情).但是今天我通过查看time命令的手册页,发现它能做的不仅仅是测量运行时间,还可以测量内存.I/O等的使用情况,手册页上的说法是time a simple command or give resource usage,其中time一词我认为它应该是测量或测定的意思,

LINUX常用命令--基础篇(一)

1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行. 2. ls 查看目录或者文件的属*,列举出任一目录下面的文件 eg: ls /usr/man ls -l a.d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link) b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x). 3. cp 拷贝文

基础命令引导篇

引 入 学好Linux,熟练操作基础命令是前提,常用基础命令更是必须得深深记入脑海里.下面,就是我的Linux基础命令引导篇,引导我记录下用过的基础命令. 目 录 优雅一句,带你遨游Linux命令的海洋: A              A year from now, you will wish you had started today.                                       B                                      C

Linux常用命令-文本查看篇

前言 Linux常用命令中,除了cat还有很多其他用于文本查看的命令.本文将简单介绍一下这些文本查看的命令. 全文本显示--cat cat可能是常用的一个文本查看命令了,使用方法也很简单: cat file  #全文本显示在终端cat -n file #显示全文本,并显示行号 另外,cat也可用作合并文件: cat file1 file2 >file3 该命令将file1 file2的内容合并写到file3中. 倒序显示全文本--tac tac是cat倒过来的写法,tac以行为单位,倒序显示全文

Linux运维之路 基础篇:Linux基础命令(一)

Linux运维之路 基础篇:Linux基础命令(一) Linux哲学宗旨: 一切皆文件:把几乎所有的资源,包括硬件设备都组织为文件 有众多单一的小程序组成,一个程序制实现一个功能,组成小程序完成复杂操作 尽量避免和用户交互:实现脚本编程,以自动完成某些功能 使用纯文本文件保存配置信息 终端:用户和主机交互时用到的设备 物理终端:直接接入的设备也叫控制台/dev/console 虚拟终端:附加在物理终端上虚拟出的,默认启动六个,Ctrl+Alt(F1~F6),系统启动时,默认启动虚拟终端1,启动终

Linux命令学习篇0——原产地

昨天在用curl发送简单的HTTP请求做測试的时候发现自己每次使用的时候都是在网络上查看别人的演示样例才干想起来怎么用,这样效率太低了.尽管有网络依旧在,可是总感觉不是被自己掌握着,心里不踏实,回忆起来自己使用Linux也差点儿相同有三四年了.从最開始接触就是用一本Linux基础教程的书籍(不是鸟哥的书).開始接触的就是linux的各种各样的命令一些关于简单的shell编程的知识.可是当时只掌握了一些经常使用的命令.对于大多数的命令还是在使用的时候遇到再翻资料查看,可能处于对英文文档的畏惧或是感