补充完善

第三天学习linux (因为要写的方便日后使用所以就接着上次写了。)

  • 给大家先介绍一个实用的东西,以后会常常用到
    在Linux操作系统中的快捷键

快捷键 功能
ctrl +alt+T 启动终端
print 全屏截图
Ctrl +alt+A 截图
alt+tab 切换窗口
shift+alt+tab 反向切换窗口
super+D 显示桌面
super+E 文件管理器
super+L 屏锁界面
super+up 最大化窗口
super+down 恢复窗口
super+N 最小化窗口
alt+F4 关闭窗口

  • 给大家介绍一些Shell基本命令、
    要学习Shell基本命令,首先要明白什么是Shell
    Alt
    在Linux环境下常用的Shell类型有:
    1. Bourne Again Shell(BASH)
    2. TCSH Shell
    3. Z-Shell

下面就介绍一些命令

首先举个例子
$ sudo apt-get update     ##这是一个确保软件包是最新的的命令

简单说一下##之前的命令,之后的是注释,方便理解

$             ## 在BASh中作为提示符,表示用户可以输入命令了
#            ##这是以root身份执行命令的提示符

我所提到的命令将以“提示符+命令+注释”给出

在BASH中,美元提示符前一般会有其他信息,如用户名等等
还有在需要用到root权限的时候,个人建议使用sudo临是提升用户权限

$ cd /             ##进入根目录
$ cd               ##进入用户主目录
$ ls               ##列出文件和目录
$ cd home /        ##进入/home目录
$ cd /etc/        ##进入/etc/目录(ETC目录一般存放了系统和绝大部分软件的配置文件,而且Linux和Windows有区别的是,Linux使用纯文本文件来配置软件)
BASh可以将一些命令自动补全
$ cat fs<tab>           ##<tab>按下tab键

代码将补全为:

$ cat fstab            ##查看fstab文件
Shell有一套专用符号被称为通配符
  • “*”用于匹配文件中任意长度的字符串
$ ls
main.cpp  makefl=ile  quicksort   quicksort.cpp
$ ls *.cpp
main.cpp  quicksort.cpp
  • "?"只匹配一个字符
$ ls
text1  text2  texta  textx  text-1  text-2
$ ls text?
text1  text2  texta  textx
  • “[ ]”匹配所有在方括号里的字符(当然可以用“-”连接,制定一个字符集范围)
$ ls
text1  text2  texta  textx  text-1  text-2
$ ls text[1a]
text1  texta  text-1
$ ls text[1-3]
text1  text2  text-1  text-2
查看目录和文件
$ cd/usr/local/bin/      ##进入/usr/local/bin/
$ pwd                    ##查看当前的位置
/usr/local/bin/

返回

$ cd /usr/bin/          ##进入/usr/bin/
$ cd..                  ##“..”表示返回当前目录的上一级目录,“.”表示当前目录,“~”表示用户主目录
****
列出目录内容 ls ,dir, vdir
$ cd 
$ ls                   ## 列出当前目录的内容
Music  Picture  Downloads  Desktop
$ ls -F
Music/  Picture/  Downloads/  Desktop/

通常情况下,目录显示为蓝色;普通文件为黑色;可执行文件为草绿色;淡蓝色则表示为链接文件。
当然我们可以使用ls -F命令,其好处就是每个目录后会加上/,可执行文件后加上*;链接文件后加上@ 这个再有些无法显示颜色的终端上有大用处。

列出目录内容的隐含内容

$ ls -aF
./  Music/  Picture/  Downloads/  Desktop/
.adobe/    .gvfs/     .sudoku/    text*

1 头部带“."的文件名,在Linux中被称为隐含文件,默认情况是不显示的。
2 指定-a后,用于显示所有文件

查看文件的属性 -1
$ cd /etc/fonts/
$ ls -1
-rw-r--r-- 1 root root 5283 2008-02-29 01:22 fonts.conf
-rw-r--r-- 1 root root 6961 2008-02-29 01:22 fonts.dtd

dir 除了功能比ls少,其他一模一样,至于vdir就是ls命令加上-1


查看文本文件: cat,more

$ cat day
Monday
Tuesday
Wendnesday
Thursday
Friday
Saturday
Sunday

当然为了调试方便可以加上-n,这样在每一行前加上序号

$ cat day
1.Monday
2.Tuesday
3.Wendnesday

cat 会一次将所有内容全部显示在屏幕上,但是有的文件太长,很不方便,因此就有了more来将文件一页一页展示
more 命令会在文末显示一个百分比,表示以显示内容占整个文件的百分比,按空格键换下一页,按回车键滚动到下一行,按Q键退出

当然阅读文件有时候不需要一行一行挨着看,有时候可以从头浏览或者从文末浏览,这时候就有了:head和tail命令

$head                    ##显示文件开头
$head -n                 ##显示文件开头,有序号
$tail                    ##显示文件尾部
$tail -n                 ##显示文件尾部,有序号

文本阅读命令 less

less和more非常相似,打功能更加的丰富,具体内容如下

  • 使用光标键在文本文件中前后滚屏
  • 可以检索
  • 阅读到文章底部时 less命令不会退出
  • 屏幕底部的信息提示更容易去控制
$ less /boot/grub/grub.cfg                            ##阅读/boot /grub/grub.cfg的内容

但是使用less命令,我们会发现:在屏幕底部有个“:”等待用户输入命令例如空格键向下翻页,B键向上翻页
查找内容在“:”后输入“/+检索内容”
使用带“-M”less命令输出底部会显示文件的名字,当前的页码,总的页数,以及当前所在整个文章百分比的值

查找文件内容 grep

$ grep un day            ##在文件day中查找带un的
Sunday

注意:grep有两个功能1 关键词查找(查找关键词,关键词必须在单引号内)2 文件查找

找东西 find

$ find /usr/bin -name zip -print   ##在/usr/bin/中查找zip,其中-name制定了文件名,-print将结果输出到屏幕
/usr/bin/zip
$ find ~/ -name *.c -print         ## 列出用户主目录下的所有c程序文件

用-type选项定位特殊类型文件

$ find /etc/ -name init.d -type d -print  ##在etc目录中查找名叫做init.d的

注意:如果查找结果中有某些行出现Permission denied 这表示为普通用户没有权限进入,查找过程中跳过该目录
find命令-type开始用的参数:

参数 含义
b 块设备文件
c 字符设备文件
f 普通文件
d 目录文件
p 命令管道
l 符号链接

按指定时间查找 -atime n(查找最后一次是该是n天前的 +表示大于 -表示小于)

$ find /usr/bin/ -type f -atime +100 -print  ##在/usr/bin/中查找100天之前修改的文件
$ find . -type f -mtime -1 -print            ## 查找当前目录一天内修改的文件

运行程序命令

$ chrome                                               ##运行chrome
 $ chrome  &                                            ## chrome 在后台运行

查找特定程序

$  whereis find                                        ##查找find命令
$ whereis -b find                                      ##只查找程序可执行的二进制文件

寻求帮助 man命令

$ man find                                             ##获取某个命令

在显示过程中调用了less命令J,K上下翻动,Q退出 空格键下一页

想知道命令的功能 whatis和apropos

$whatis uname                   ##unanme的功能 
$apropos search                 ##search的功能