1_访问命令行

第一个单元 访问命令行

############################################################################


(一).bash shell:命令提示符含义,shell开启及退出,命令的格式及分类

(二).获取帮助:wahitismanhelpinfo

(三).用户登录:切换、锁定界面,开机,重启

(四).简单命令的例子:datehwclockcalpasswdfilecpio

(五).bash支持:命令行编辑,命令历史history,命令补全Tab,命令别名alias,命令替换,文件名通配

(六).文本处理:cattacmorelessheadtailcut,sort,uniq,wc,tr


什么是内核?

硬件(最底层),cpu(大脑),内存(草稿)

kernel:太过脆弱,需要shell保护,进行判断谁先执行。

bash shell:对内核进行保护,但是有漏洞,也是软件。只负责传输数据

Bourne-Again shell:比shell的功能更强



()bash shell

****************************************************************************

1.打开命令行的提示符含义:

[谁开启的@在哪开启 所在系统的位置]用户级别(#:超级用户,$:普通用户)

超级用户(管理员用户):管理系统,root,权限几乎不受限制。

普通用户:使用系统,权限小。

注:命令必须要在命令行的最后输入,执行才有效


2.shell开启及退出

退出:Ctrl+D,exit

切换用户:su - USERNAME(用户必须存在 suSwitch user

切到超级用户:su - root

su -

注:超级用户可以直接切换到普通用户

普通用户切换到高级用户或普通用户需要输入密码

开启:

图形方式:1.右键

2.Applications

虚拟控制台方式:

进入:Ctrl+Atl+F2|F3|F4|F5|F6

退出:Ctrl+Atl+F1|F7


3.命令格式:命令 + 参数 + 目标 (都需要用空格隔开)

参数(options):

-后跟单词的缩写

--后跟单词的全拼

目标:省略时默认为当前目标,多个目标需要用空格隔开

注:命令,参数,目标是三种身份,需要隔开

当目标名称里有空格就用单引号引起来。

取消执行已输入的命令:Ctrl + C


4.命令类型:

内置命令:shell内置,内建的

外部命令:在文件系统的某个路径下有一个与命令名称相对应的可执行文件


5.环境变量:

变量:命名的内存空间

变量赋值:如a=10

声明变量:申请内存使用


printenv:显示环境变量

PATH:使用冒号分隔的路径,从头到尾查找使用过的命令,会有缓存,下次可以从缓存中找命令。

hash:查看缓存


(二)获取帮助:

****************************************************************************

【】:中括号里的可以省略

<>:表示必须要添加

...:表示可以添加多个或者不添加

|:多选一

{}:分组

 

1.wahitis 命令:查看命令是干嘛的


2.help

COMMAND --help:外部命令,获取此命令的帮助信息

help COMMAND:内部命令,获取此命令的帮助信息


3.info COMMAND:在线文档(很详细)

/usr/share/doc:文档


4.man 更详细的帮助,man是分章节的

格式:man + [command]

man 5 + [filename]

whatis COMMAND:查看章节

分章节:

1:用户命令(所有用户都可以使用)

2:系统调用

3:库用户

4:特殊文件(设备文件)

5:文件格式(配置文件的语法)

6:邮件

7:杂项

8:管理命令


MANman文档中的提示信息

NAME:命令名称及功能简要说明

SYNOPSIS:用法说明,包括可用选项

DESCRIPION:命令功能的详尽说明,包括每一个选项的意义

FILFS:命令相关的配置文件

EXAMPLES:使用示例

SEE ALSO:另外参考


快捷翻屏:

向后翻一屏:空格(SPACE

向前翻一屏:b

向后翻一行:回车(Enter

向前翻一行:k

查找:

/KEYWORD:向后

n:下一个

N:前一个

KEYWORD:向前

n:下一个

N:前一个



(三)用户登录:

*****************************************************************************

1.图形登陆:输入用户名和密码(点击右上角用户名-->Log out注销)


2.文本界面登陆:Ctrl+Alt+F2

localhost login:输入用户名(输入可见,用户必须存在)

Password:输入秘密(输入不可见)


3.界面切换:

Ctrl+Atl+上下键


4.锁定操作界面:

图形界面:Ctrl+Atl+l

控制台界面:Ctrl+D


5.关机,重启:

立即关机:powering off

poweroff

shutdown -h now

init 0

关机重启:rebooting

reboot

shutdown -r now

init 6



(四)简单命令的例子

****************************************************************************

1.时间

ntp:网络时间协议

硬件时钟:clockhwlock

系统时钟:date


date:显示系统时间及修改时间

date +%F:只显示年月日

date 111111.11(修改月日小时分钟.秒钟)

显示72天以后的时间:date -d 72day

Tue Mar 24 11:52:55 CST 2015

hwclock

-w:把系统时间同步到硬件时间,改硬件时间

-s:把硬件时间同步到系统时间,改系统时间

-r:读取时间,不加也一样


cal:查看日历(calendar

cal:打印当月的日历

cal 2014:打印2014年的日历

cal 12 2014:打印201412月的日历


2.修改密码

passwd:修改密码

超级用户:passwd USERNAME:修改用户的密码

要求普通用户的密码字符超过8个字符,但是不是必须要求,输入两次密码即可

修改超级用户自己的密码 passwd既可

普通用户:passwd (回车,输入自己现在的密码,输入新密码两次)

只可以修改自己的密码

字符必须超过8

必须是字符和数字的组合

修改密码时必须知道自己现在的密码

新密码不可以和旧密码相似



超级用户锁定普通用户:passwd -l USERNAME

超级用户解锁普通用户:passwd -u USERNAME



非交互方式修改密码:echo PASSWORD |passwd --stdin USERNAME

PASSWORD:用户的新密码

USERNAME:要修改用户的名称

--stdin:标准输入


3.检测文件类型

file:检测文件类型

格式:file FILE


cpio -i < NAME:解压NAME在当前目录



(五)bash支持的功能

****************************************************************************

shell:外壳

GUIGnomeKDExfce

CLIsh:自身也是一个执行程序

csh:类似c语言

ksh:比csh更多商业化的产品

bash:功能更强大,开源的

zsh:新的


bash:是外部程序,但带有命令

程序:只有一个,但是进程可以有多个

进程:是程序的副本,进程是程序执行实例,在每个进程看来,当前主机上只存在内核和当前进程



bash支持:

1.命令行编辑

2.命令历史

3.命令补全

4.命令别名

5.管道,重定向

6.命令行展开

7.文件名通配

8.变量

9.编程


1.命令行编辑

光标跳转:

Ctrl + r:输入字符可以查找到最近含有此字符的命令

Ctrl + 左右键:以单词为单位左右跳转

Ctrl + a:跳到字符串的行首

Ctrl + e:跳到字符串的行尾

Ctrl + k:删除光标及光标以后的字符

Ctrl + u:删除光标以前的字符

Ctrl + d:依次删除光标以后的字符

上下键盘:调出最近执行的命令

左右键盘:以字符为单位左右跳转


2.命令历史

bash一般情况下会自动记录过去曾经执行过的命令,会保存在内存的一段缓冲区当中,上下键盘:调出最近执行的命令


history:查看命令历史

-c:清空命令历史

-d:删除某一行or几行,删除指定位置的命令


n:执行命令历史中第n条命令

-n:执行命令历史中倒数第n条命令

!!:执行上一条命令

string:表示执行命令历史中最近一个以string开头的命令

$:引用前一个命令的最后一个参数


3.命令补全

Tab键:自动补齐命令or路径

tab一次:可以补齐唯一的命令或文件名

tab两次:可以列出不唯一的命令或文件


4.命令别名:

有空格用‘’引起来,临时的,在shell中定义的别名仅对当前shell生命周期中有效,别名的有效范围为当前的shell进程

alias:起别名

格式:alias CMDALIAS='COMMAND [options][arquments]'

例子:alias cls=clear(清屏)

alias:不使用任何参数时,输出所有的命令别名,alias本身是shell内建命令

unalias:撤销别名

格式:unalias CMDALIAS


5.命令替换

$(COMMAND),`COMMAND`:把命令中的某个子命令替换为执行结果的过程

例子:恶echo "The current directory is $(pwd)"


bash支持的引号

反引号``:命令替换

双引号"":弱引号,可以实现变量替换

单引号'':强引用,不完成变量替换

强引用:

\:转义

'':转义

弱引用:

"":不能转义 ` \ $


${}:改变优先级

$():指定命令执行顺序

ehco "$a"a

echo $a"a"

echo ${a}a

echo $(a)a


6.文件名通配

*:代表匹配所有字符,包括空格

rm -fr *:不能删除以.开头的文件

?:代表匹配任意单个字符


~:表示用户家目录

~ USERNAME:用户USERNAME的家目录

+:代表当前目录 .

-:代表当前目录的上一级目录 ..


{}:连续选择,适用于新建touch

如:{a-c}:abc

非连续选择:{a,c}

[]:匹配指定范围内的任意单个字符

[abc]:从中选择一个

[a-z]:所有小写字母

[a-zA-Z]:所有字母

[^]:匹配指定范围外的任意单个字符

^:非 【^a:除了a

!:非 【!a】:除了


man 7 glob

【【:alpha:】】:匹配所有字母

【【:lower:】】:匹配小写字母

【【:upper:】】:匹配大写字母

【【:alnum:】】:匹配所有的数字和字母,包括大小写

【【:punct:】】:匹配非空的符号

【【:digit:】】:匹配数字

【【:space:】】:匹配空格,空白字符

例子:【【:alpha:】】*【【:space:】】*【【:alpha:】】

匹配以字母开头,字母结尾,中间有空格的



(六)文本处理:

****************************************************************************

cattacmorelessheadtailcut,sort,uniq,wc,tr


1)查看文本

cat:连接并显示,若只有一个文本只显示一个文本,若有多个依次显示多个。

-n:显示出行号,显示时给每行给与编号

-E:显示每行行的结束符,在linux里结束符为$,在windows里结束符号为$\n

-A:显示出所有的内容,包括非打印符

tac:显示和cat是相反的,从最后一行开始显示


Ctrl+c:中断,取消命令

Shift+Pgup/Pgdn:(上/下翻)但是是有限的,只是缓存


more:分屏显示,到最后就直接退出了

空格:向前翻

b:向后翻

less:分屏显示,到最后不直接退出了

空格:向前翻

b:向后翻

回车:向后一行一行翻

k:向前一行一行翻


head:查看前n行,默认显示前10行,空白行也算

格式:head FILENAME:默认显示前十行

head -n FILENAME:显示文件前n

tail:查看后n行,默认显示前10行,空白行也算

格式:tail FILENAME:默认显示后十行

tail -n FILENAME:显示文件后n

-n:显示的行数,在linuxhead -n 2 = head -2

tail -f:显示内容并且不退出,显示完也不退出,若有新内容立即显示的(如查看日志)

查看文件尾部,不退出,等待显示后续追加至此文件的新内容


2)文本处理

cut:显示文本字段

-d:指定字段的分隔符,默认是一个空格

-f:指定要显示的字段

-f 1.3:显示第一个字段和第三个字段

-f 1-3:显示第一个字段,第二个字段,第三个字段

例:cut -df1 /etc/passwd 显示/etc/passwd文件的第一个字段,字段的分隔符为:

3)文本排序

sort:不影响源文件内容,只是改变显示的结果,sort默认是按ASCII表的字母升序进行排序的,默认不是按数字大小排序,而是按字符排序的

-n:按数值排序的,按升序排序(默认)

-r:按降序排序的

-t:字段分隔符

-k:以哪个字段为关键字进行排序

例如:sort -t-k3 /tec/passwd /etc/passwd以:为分隔符的第三个字段进行排序

-u:相同的字符之显示一次(unique

-f:排序时,忽略字符大小写,不区分大小写


uniq:不显示相邻行且相同的行,之显示一行,报告哪行是重复的或忽略重复的行,不相邻的行不代表重复。

-d:只显示重复的行

-D:显示重复的几行,显示所有的重复的行

-c:显示行的重复的次数


3)文本统计

wc:(word count

格式:wc filename:显示文件的行数,单词数,字节(字符)数,字节包括空格

-l:只显示行数

-w:只显示单词数

-c:只显示字节(一个汉字3个字节,空格算一个字节)

-m:只显示字符(一个汉字1个字符,空格算一个字节)

-L:表示最长的一行包含多少个字符


System monitor:系统监控

w -fw查看谁登陆了我的系统并在做什么

pwd:查看所在位置

init 3:关闭图形

init 5:开启图形

print:默认没有换行符

echo:默认会有一行空白行

echo -n:不显示空白换行

echo -e-e后可以用转义字符

file:查看文件所用的文件类型

posted @ 2015-10-16 23:45  淡蓝色的天空很美  阅读(311)  评论(0编辑  收藏  举报