查看端口号
netstat -anp|grep 80
列出80端口的所有进程
查看当前的进程
ps -ef 显示所有进程并做一个完整的输出
grep
全面搜索正则表达式并把行打印出来。
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行!
查找
(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。
find /etc -name httpd.conf #在/etc目录下文件httpd.conf
(2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。
cat
cat命令主要用来查看文件内容,创建文件,文件合并,追加文件内容等功能。
创建目录
mkdir newdir 创建目录
mkdir -p newdirA/newdirB 创建多目录
ls
ls :列出当前文件夹中所有的文件
ls -a :列出当前文件夹中包括隐藏文件的所有文件
ls -al:列出所有文件以及详细信息
Tab|命令补全
cd
命令格式:
cd [目录名]
常用范例:
(1)从当前目录进入系统根目录
cd /
(2)从当前目录进入父目录
cd ..
(3)从当前目录进入当前用户主目录
cd ~
(4)从当前目录进入上次所在目录
cd -
pwd
pwd 命令是 Print Working Directory 的缩写,判定当前目录在文件系统内的确切位置。
软件安装
dpkg绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的软件包用apt可以再安装一遍,系统不知道之前安装过了,将会覆盖之前dpkg的安装。dpkg是用来安装.deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件。
apt会解决和安装模块的依赖问题,并会咨询软件仓库, 但不会安装本地的deb文件, apt是建立在dpkg之上的软件管理工具
aptitude与 apt-get 一样,是 Debian 及其衍生系统*能极其强大的包管理工具。与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。
安装软件包
dpkg -i package_name.deb #安装本地软件包,不解决依赖关系
apt-get install package #在线安装软件包
aptitude install pattern #同上
apt-get install package --reinstall #重新安装软件包
apitude reinstall package #同上
移除软件包
dpkg -r package #删除软件包
apt-get remove package #同上
aptitude remove package #同上
dpkg -P #删除软件包及配置文件
apt-get remove package --purge #删除软件包及配置文件
apitude purge pattern #同上
自动移除软件包
apt-get autoremove #删除不再需要的软件包
注:aptitude 没有,它会自动解决这件事
清除下载的软件包
apt-get clean #清除 /var/cache/apt/archives 目录
aptitude clean #同上
apt-get autoclean #清除 /var/cache/apt/archives 目录,不过只清理过时的包
aptitude autoclean #同上
编译相关 apt-get source package #获取源码
apt-get build-dep package #解决编译源码 package 的依赖关系
aptitude build-dep pattern #解决编译源码 pattern 的依赖关系
详见参考: dpkg —- apt-get —— aptitude 三种方式的区别
查找文件
which 查看可执行文件的位置
whereis 查看文件的位置
locate 配 合数据库查看文件位置
find 实际搜寻硬盘查询文件名称
命令 | 说明 |
---|---|
which | 查看可执行文件的位置 |
whereis | 查看文件的位置 |
locate | 配合数据库查看文件位置 |
find | 实际搜寻硬盘查询文件名称 |
which
#which 可执行文件的,名称
//which是通过PATH环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件
whereis
# whereis [-bmsu] 文件或者目录名称
参数说 明:
-b : 只找二进制文件
-m: 只找在说明文件manual路径下的文件
-s : 只找source源文件
-u : 没有说明文档的文件
````
<div class="se-preview-section-delimiter"></div>
### locate
<div class="se-preview-section-delimiter"></div>
locate 文件或者目录名称
<div class="se-preview-section-delimiter"></div>
### find
<div class="se-preview-section-delimiter"></div>
find 路径 参数
参 数说明:
时间查找参数:
-atime n :将n*24小时内存取过的的文件列出来
-ctime n :将n*24小时内改变、新增的文件或者目录列出来
-mtime n :将n*24小时内修改过的文件或者目录列出来
-newer file :把比file还要新的文件列出来
名称查找参数:
-gid n :寻找群组ID为n的文件
-group name :寻找群组名称为name的文件
-uid n :寻找拥有者ID为n的文件
-user name :寻找用户者名称为name的文件
-name file :寻找文件名为file的文件(可以使用通配符)
> 注:和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。
但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新
> 当我们用whereis和locate无法查找到我们需要的文件时,可以使用find,但是find是在硬盘上遍历查 找,因此非常消耗硬盘的资源,而且效率也非常低,因此建议大家优先使用whereis和locate。
locate 是在数据库里查找,数据库大至每天更新一次。
<div class="se-preview-section-delimiter"></div>
# 复制,删除和剪切
**cp**
复制,使用cp命令,相当于DOS下的copy命令,意思是复制一个文件到指定的目录
<div class="se-preview-section-delimiter"></div>
//将/usr/app下的a.zip 文件复制到/home/liushiyao/文件夹下
cp /usr/app/a.zip /home/liushiyao/
“`
cp
rm
删除,使用rm命令,相当于
DOS下的remove命令,意思是移除一个文件或者文件夹。
mv
剪切(移动),将一个文件或者文件夹,移动到指定的位置。相当于windows下的“剪切”。