1、命令解析器
Shell-----Unix操作系统
bash------Linux操作系统
本质:根据命令的名字,调用对应的可执行程序。
2、Linux快捷键:
历史命令:history
向上遍历:ctrl+p
向下遍历:ctrl+n
光标向左:ctrl+b
光标向右:ctrl+f
光标移动到当前行头部:ctrl+a
光标移动到当前行末尾:ctrl+e
删除光标前的字符:backspace或者ctrl+h
删除光标后(Linux中是光标覆盖的字符)的字符:ctrl+d
删除光标前的所有:ctrl+u
智能提示:tab键(一次或者两次)
清屏:ctrl+l或者clear
3、Linux系统目录结构:(树状)
根目录:ls /
/bin:存储Linux命令
/dev:Device(设备的缩写),该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式相同。
/etc:存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的帐号命名的。
/lib:存放系统基本的动态连接共享库,作用类似于widows里的DLL文件,几乎所有的应用程序都用到这些共享库。
/media:Linux系统会自动识别一些设备,例如U盘、光驱等,当识别后,Linux会把识别的设备挂载到这个目录下。
/mnt:该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/usr:一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下。类似于Windows下的program files目录。
3、用户目录:
绝对目录:从根目录开始写
相对路径:相对于工作目录而言
. --->当前目录
.. --->当前目录的上一级目录
- --->在临近的两个目录直接切换 cd -
4、cczhao@ubuntu:~$
cczhao:当前登录用户
ubunbu:主机名
~:用户的家目录(宿主目录)
$:当前用户为普通用户
#:超级用户--root
5、查看目录:
ls
tree---前提是先安装tree这个软件(sudo apt-get install tree[要联网])
pwd---查看当前的位置
6、创建目录:
只创建一个目录:mkdir 目录名
创建嵌套目录:mkdir aa/bb/cc -p(or mkdir -p aa/bb/cc)
字母p的意思:parents,需要时创建上层目录,如果上层目录存在也不报错。
然后可以用ls命令或者tree命令来查看目录结构。
7、删除目录:
删除空目录:rmdir lover(前提是lover这个文件夹是空的,这个命令实用性不强)
删除目录:rm aa -r(aa这个文件夹下可能还有东西,这里的-r表示递归删除)
带有提示删除:rm -ri bb(显示递归进入目录,然后再递归删除目录)
8、创建文件:
touch 文件名
如:touch math
创建math这个文件,如果创建的文件之前没有,直接创建,
如果有,修改文件的创建时间。
9、删除文件:
直接用rm 文件名
如:rm math(或者是带有提示rm math -i)
10、拷贝文件:
cp a.txt temp(把a.txt中的内容拷贝到temp文件中),如果temp文件不存在,
创建temp并把a.txt中的内容拷贝到temp中;如果temp文件存在,就把temp中的
文件内容覆盖掉。
11、拷贝目录:
cp 目录名 拷贝到哪的目录名 -r(表示递归拷贝)
如:cp test newDir -r(表示把test这个目录中的内容拷贝到newDir中
,如果newDir不存在就创建它,然后把相应的内容拷贝到newDir中;如果
存在newDir就在newDir这个目录下再创建一个test目录)
12、查看文件:
cat命令:适合看文件比较小,几行,几十行;
more命令:适合翻页,按enter每按一次增加一行;按空格键,每按一次增加一页。
less命令:enter键和空格键和more命令中效果一样;但是如果想往上翻看的话,就通过ctrl+p,ctrl+n,ctrl+b,ctrl+f;
head 命令:查看文件中的前十行(默认);hear -5 文件名(加参数看前5行)
tail 命令:查看文件的后十行(默认);
13、mv命令:
如:mv temp laowang(如果不存在laowang这个目录,进行的就是重命名操作,
如果存在laowang这个目录,进行的就是把temp这个文件移动到laowang这个目录下)
14、创建软连接(快捷方式):
ln -s 文件或目录的绝对路径 软连接名
如:ln -s ~/test/a.txt baby.soft(必须是绝对路径才能在整个Linux系统中有用),然后 mv baby.soft ../
ln的意思:link
-s:symbolic 象征性的
然后就能在根目录下看到我们自定义的软连接baby.soft了。
15、创建硬连接(感觉有点类似于Java中的引用)
ln 源文件名 目标文件名
不能给目录创建硬连接,只能给文件创建硬连接。
16、which命令
查看指定命令所在的路径。----which命令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
如:which cp
小提示:cd这个常用命令用which命令是找不到的,因为cd命令是bash内建命令.
17、查看当前用户:whoami
18、修改文件权限
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--其他人
再比如:(设定权限)
chmod 765 b.txt
再比如:(减少其他人的执行权限)
chmod -001 b.txt(当然也可以直接写chmod 764 b.txt)
19、修改文件所有者和文件所有组
-rwx-w---x 2 cczhao jack 61 5月17 18:30 a.txt
1)、前十位:
第一位:- 代表文件
d 代表目录
第二位到第四位:
即rwx:代表文件所有者的权限
第五位到第七位:
即-w-:代表文件所属组的权限
第八位到第十位:
即--x:代表其他人的权限
2)、2:硬连接的数量
3)、cczhao:文件所有者
4)、jack:文件所属组
5)、61:代表文件的大小(默认是按字节计算)
7)、5月17 18:30 :文件创建时间
8)、a.txt:表示文件名
倘若没有足够多的用户,可以先创建用户:useradd -d /home/jack -m jack (创建Jack这个用户,并指定宿主目录在/home/jack下),删除的话,
可以直接用:userdel jack -r(级联删除,因为创建用户的时候还会在/etc目录下创建相应的信息,所以最好要级联删除)。
有了足够的用户,就可为文件指定文件所有者或者文件所属组:(前提是要在超级用户下操作:sudo su)
chown jerry b.txt -----指定文件b.txt的文件所有者是jerry;
chgrp tom b.txt-----指定文件b.txt的文件所属组是tom;
或者同时修改:chown jerry:tom b.txt-----修改文件b.txt的文件所有者是jerry,文件所属组是tom;
注意:从普通用户进入超级用户:sudo su
从超级用户进入普通用户:su 用户名
20、查找文件:
1)、按文件属性查找:
文件名:find 查找目录 -name "文件名"
文件大小:find 查找目录 -size +10k(大于10kb的文件)
如:find ~ -size +10M (查找文件大于10M的)
再如:find ~ -size 10k -size 100k(查找文件大于10k小于100k)
文件类型:find 查找目录 -type d/f/b/c/s/p/l
d----目录
f----文件
b----块设备
c----字符
s----套接字
p----管道
l----链接
2)、按文件内容查找
grep -r "查找内容" 查找路径
如:grep -r "int" ~ (在根目录中查找)
21、软件安装:
apt-get:(Ubantu自带的软件安装工具)
install:sudo apt-get install tree----在线下载安装(前提知道软件名字)
remove:sudo apt-get remove tree
update:(更新软件列表,不是更新软件)sudo apt-get update
清理所有软件安装包:sudo apt-get clean-----实际清理的是:/var/cache/apt/archives 这个目录下的.deb文件
aptitude:(类似于Windows中的迅雷、电驴等工具,下载它后,可以用这个aptitude安装)
安装:sudo aptitude install tree
重新安装:sudo aptitude reinstall tree
更新:sudo apt-get update
移除:sudo aptitude remove tree
显示状态:sudo aptitude show tree(显示tree这个软件的各种状态信息)
deb包安装:
安装:sudo dpkg -i xxx.deb
删除:sudo dpkg -r xxx
源码安装:
查看软件附带的README文件。
*************************************************************************
22、echo命令
echo 字符串 ---- 显示普通数据
echo $PATH ------ 显示环境变量
echo $? ------ 显示最近一次程序的退出值