1. 什么是shell,
shell是命令解析器:
shell -- unix操作系统下终端输入的命令都成为shell命令
bash -- Linux操作系统下输入的命令。bash是一个叫伯恩的人重新该写的shell,在linux下使用。
本质: 根据命令的名字, 调用对应的可执行程序
2 Linux 快捷键
1>命令和路径补齐键 tab
2>. 主键盘快捷键:
1). 历史命令切换:
历史命令: history
向上遍历:ctrl + p (方向键也可上下切换,但是用方向键显得比较low。作为程序员应该使用快捷键)
向下遍历:ctrl + n
2). 光标移动:
向左: ctrl + b 移动一个字符
向右: ctrl + f 移动一个字符
移动到头部:ctrl + a 光标移动到行首
移动到尾部:ctrl + e 光标移动到行尾
3). 删除字符:
删除光标后边的字符:ctrl + d 注,光标覆盖的字符是光标后面的字符
删除光标前边的字符:ctrl + h (或者 backspace键)
删除光标前的所有内容:ctrl + u
3. Linux系统目录结构:
1>. 根目录:/
2>. /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令,cp ls mkdir等等。
3>. /dev: dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
4>. /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录(包括安装的程序的配置文件)。
5>. /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
6>. /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
7>. /media: linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
8>. /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
9>. /root:该目录为系统管理员,也称作超级权限者的用户主目录。
10>. /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
11>. /boot: 这里存放的是开机启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
12>. /lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
4. 用户目录:
1>. 绝对路径: 从根目录开始写 /home/itcast/aa
2>. 相对路径: bb 相对于当前的工作目录而言
. -> 当前目录
.. -> 当前的上一级目录
- -> 在临近的两个目录直接切换 'cd -'
3>. itcast@ubuntu:~$
itcast: 当前登录用户
@: at 在
ubuntu: 主机名
~: 用户的家目录(宿主目录)进入的目录为当前登录用户的目录,就是宿主目录
[root@FOSDEV /]# cd root (或者cd ~ 或者cd)三种方式都可以回到宿主目录
[root@FOSDEV ~]#
$: 当前用户为普通用户
#: 超级用户 -- root
5. 文件和目录操作
1>. 查看目录1). tree -- 必须安装该软件
2). ls -la
2>目录间切换 cd
3>创建目录mkdir
4>删除文件或目录 rm rmdir
5>创建一个文件 touch
6>拷贝一个文件或目录 cp
7>查看一个文件
1 cat filename
2 vi filename
3more filename 只能往下翻,不能往上
4 less filename 可以自由上下浏览
5head filename 默认前10行 head -20 filename 查看前20行
6 tail filename 默认后10行
8>软链接
ln –s srcfilename destfilename 创建一个软链接(快捷方式)指向srcfilename 。目录也可以创建软链接,写法一样,但写目录是要用绝对路径。
9>硬链接
ln srcfilename destfilename。创建一个硬链接,产生一个映射,但硬链接不占用额外的存储空间。
删除源文件,硬链接不会被删除,一样可以访问,只是删除了那个位置的计数。在理解上可以理解成不同的指针指向同一块内存。linux下每一个文件都对应一个Inode,创建硬链接后,两个文件的Inode是相同的。
注:目录不能创建硬链接。
linux上最小的存储单元是块,文件是存在块上的。用户如何在磁盘上找到文件呢?
在linux系统中存在inode,每一个文件都对应一个inode,该节点保存了一些文件信息,通过inode找到对应的文件。
6. 文件或目录属性: (理解内容, 非重点)
1>. wc
2>. od
3>. du
4>. df
7. 文件权限, 用户, 用户组
1>. 查看当前登录用户:
2>. 修改文件权限:
1). 文字设定法: chmod [who] [+|-|=] [mode]
who:
文件所有者: u
文件所属组: g
其他人: o
所有的人: a
+: 添加权限:
-: 减少权限
=: 覆盖原来的权限
mode:
r: 读
w: 写
x: 执行
2). 数字设定法:
- : 没有权限
r: 4
w: 2
x: 1
765
7 -- rwx -- 文件所有者
6 -- rw -- 文件所属组
5 -- rx -- 其他人
3>. 改变文件或目录的所有者或所属组:
4>. 改变文件或目录所属的组:
8. 查找和检索
1>. 按文件属性查找:
1). 文件名:find + 查找的目录 + -name + "文件的名字"
2). 文件大小: find + 查找目录 + -size +10k 查找大于10k -size -10k 查找小于10k
3). 文件类型: find + 查找目录 + -type + d/f/b/c/s/p/l
2>. 按文件内容查找:
grep -r "查找的内容" + 查找的路径
9. 软件的安装和卸载
1>. 在线安装:
2>. deb包安装:
3>. 源码安装:
案例: 安装 svn
a. ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
b. make
c. sudo make install
10. U盘的挂载和卸载