Linux基础之常用篇

基础操作

文件与目录管理

命令说明使用例子备注
ls  列出全部文件
  • ls -a  列出全部文件
  • ls -d  仅列出目录本身,而不是列出目录内的文件数据
  • ls -l   长数据串列出,包含文件的数据与权限等
 
cd 切换工作目录
  • cd ./runoob/   使用相对路径切换
  • cd /root/runoob/  使用绝对路径切换
  • cd - 进入上一次工作路径
 
pwd 显示目前所在目录
(print working directory)
  • pwd [-P]  显示出确实的路径,而非使用连结路径
 
mkdir 创建新目录
  • mkdir [-p]    直接将所需要的目录包括上一级目录递归创建
  • mkdri [-m]    不看默认权限,配置文件权限
 
rmdir 删除空目录
  • rmdir [-p] 连同上一级空目录也一起删除
 

cp

复制文件或目录
  • cp [-i] ~/.bashrc /tmp/bashrc
如使用互动模式,将root目录下的bashrc复制到tmp目录下
如目标档已经存在,覆盖时会先询问动作是否进行
  • cp [-p] 连同文件属性一起复制过去,而非使用默认属性
备份常用
  • cp [-r] 持续递归复制,用于目录的复制行为
 
rm 移动/修改 文件与目录
  • rm [-i] 互动模式 若目标文件已存在会询问是否覆盖
 
  删除非空文件目录及内容
  • rm -rf 目录名
 
- 文件查看
  • cat file_name 从第一行开始显示文件内容
 
  • tac file_name 从最后一行开始显示文件内容
 
  • nl file_name 显示行号
 
  • head [-n number] file_name 显示文件前几行
 
  • tail [-n number] file_name 显示文件后几行
 

vi/vim常用操作

vi/vim共分为三种模式:

  • 命令模式   刚启动vi/vim便进入命令模式,此时输入i,则切换到输入模式
  • 输入模式   进行内容输入编辑等操作。ESC退出输入模式,切换到命令模式
  • 底线命令模式  在命令模式下按:就进入了底线命令模式,此时q退出程序;w保存文件

工作模式如下图:

yum命令

  • yum check-update   列出所有可更新的软件清单命令
  • yum update   更新所有软件命令
  • yum install <package_name>   仅安装指定软件
  • yum update <package_name>  仅更新指定软件
  • yum list    列出所有可安装的软件list
  • yum remove <package_name>    删除软件包命令
  • yum search <package_name>     查找软件包命令
  • yum clean packages     清除缓存目录下的软件包

其他常用命令

文件管理

命令说明使用例子备注
cat 连接文件并打印到标准输出设备上 cat -n file1 > file2
(把file1文档内容加上行号后输出到file2)
cat filename可用于查询输出文档内容
chmod chmod mode file_name
mode:[ugoa][+-=][rwxX]
  • u该文件拥有者,g与该文件拥有者属于同一个群体者,o其他以外的人,a三者皆是
  • +表示增加权限,-表示取消权限,=表示唯一设定权限
  • r表示可读,w表示可写入,x表示可执行,X表示只有当该文件是个子目录或者该文件已经被设定过为可执行

[将file1设定为所有人皆可读]
chmod ugo +r file1 
chmod a +r file1

[将file1和file2设为该文件拥有者与同群体者可写入,其他人不可写入]
chmod ug+w,o-w file1 file2

linux文件调用权限分为三级:文件拥有者,群组,其他。
利用chmod可以控制文件如何被他人调用

chmod也可以用数字来表示权限:r=4, w=2, x=1

rwx属性则为4+2+1=7
rw-属性则为4+2=6
r-w属性则为4+1=5

chmod a=rwx file1 = chmod 777 file1

chmod ug=rwx,o=x file1 = chmod 771 file1

 
cmp 比较两个文件是否有差异 cmp [-clsv] file1 file2

cmp -c file1 file2 除了标明差异的十进制字码之外,一并显示该字符所对应的字符

cmp -l file1 file2 标示出所有不一样的地方

 
diff 比较文件的差异 diff file1 file2 diff file1 file2 -y -W 50 以宽度为50的距离并排显示两个文件的差异  
top 实时显示进程资源占用情况,类似于windows的任务管理器 输入q退出top命令  
ps
(process state)
显示当前运行的进程快照
  • ps
  • ps -u username 显示指定用户信息
  • ps -ef 显示所有进程信息,连同命令行
  • ps -ef | grep xxx (ps与grep常用组合用法) 查找特定进程
  • ps aux 列出目前所有的正在内存当中的程序
 
more

显示文件内容

  • -<数字> 每屏显示的行数
  • -d 每屏底部显示友好提示信息(百分比)
  • -c 不滚屏,在显示下一屏之前先清屏
  • +<数字> 从行号数字开始显示
  • more -dc file 先清屏然后屏幕下方提示百分比显示
  • more -c -10 file 先清屏,每10行显示一次
  • 按space,显示下一屏
  • 按enter,显示文本下一行
  • 按Q键,退出more命令
  • 按B键,显示上一屏
less

更强大的文件显示命令

 

 
  • b 向前翻一页
  • d 向后翻一页
  • q 退出less命令
  • u 向前滚动半页
  • y 向前滚动一页
tar

压缩文件

-c:建立新的压缩文件, -t:显示压缩文件的内容, -x: 从压缩包中抽取文件

-z:支持gzip压缩, -v:显示操作过程, -f:指定压缩文件

  • tar -czvf 压缩后文件名.tar.gz 压缩前文件名 (压缩文件)
  • tar -tzvf 压缩文件名.tar.gz (列出压缩文件内容)
  • tar -xzvf 压缩文件名.tar.gz 压缩前文件名 (解压文件)
 
zip格式压缩解压缩

zip [压缩文件名] [原文件] 压缩文件

zip -r [压缩文件名] [原文件] 压缩文件夹

unzip [压缩文件名] 解压缩文件

   
date

显示或设定系统的日期与时间

-d<字符串> 显示字符串所指的日期与时间,字符串前后必须有双引号

  • date -d "2 weeks" 显示两周后的日期
  • date -d tomorrow +%Y%m%d 显示明天的日期
 
cal

显示日历

-3: 显示当前月及前后各一个月的日期, -j: 显示在当前年第几天

  • cal 9 2018 显示指定年月日期
  • cal -3 显示当前月及前后各一个月共三个月的日历
 
grep

-A n 显示匹配字符后n行
-B n 显示匹配字符前n行
-c n 显示匹配字符前后n行
-c 计算符合样式的列数
-i 忽略大小写
-l 只列出文件内容符合指定样式的文件名称
-f 从文件中读取关键字
-n 显示匹配内容所在文件中行数
-R 递归查找文件夹
^ 锚定行的开始
[^] 匹配一个不在指定范围内的字符
$ 锚定行的结束
. 匹配一个非换行符的字符 如gr.p匹配gr后任意一个字符然后是p
*  匹配另个或多个先前字符 如*grep匹配所有一个或多个空格后紧跟grep的行
.* 代表任意字符

-v 反转输出结果及不输出匹配的项

  • ps -ef | grep svn 查找指定进程
  • ps -ef | grep svn -c 查找指定进程个数
  • grep -lR '^grep' /tmp 从文件夹中递归查找grep开头的行,并只列出文件
  • grep '^[^t]' file_name 查找非t开头的行内容
强大的文本搜索命令,如果模板包含空格,则必须被引用
wc -c:字节数, -l:行数, -m:字符数, -w:次数   统计指定文件的行数,单词数,字节数
free -s<间隔秒数> free -s 10 以10秒为间隔周期性查询内存使用情况

显示内存使用情况(Ctrl+c 退出free模式)

netstat

-t:tcp协议端口, -u:upd协议端口
-a:所有, -l:列出监听状态的, -n: ip地址个端口号

netstat -anl | grep 8080 查看网络状态
       
       

rpm命令

软件包安装和管理程序。使用rpm,用户可以自行安装和管理linux上的应用程序和系统工具。rpm可以让用户直接以binary方式安装软件包,并且可替用户查询是否已经安装了有关的库文件。

  • locate rpmrc  查询rpm包管理的配置文件rpmrc
  • 初始化rpm数据库(通过rpm命令查询一个rpm包是否安装了,也是要通过rpm数据库来完成的;所以我们要经常用下面的两个命令来初始化rmp数据库)
    • rpm --nintdb
    • rpm --rebuilddb 
  • 查询功能 
    • rpm -qf 文件名  查询一个已经安装的文件属于哪个软件包
    • rpm -ql 软件名  查询已安装软件包都安装到了哪里

nc命令

在网络工具中有“瑞士军刀”的美誉。可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接

  • 安装
    • yum install -y nc完成安装后可用rmp -q nc来查看安装文件
  • 作用:可以实现远程拷贝文件,既server与server之间的文件传输
  • 其他常用用法:监听本地端口,端口扫描,目录传输,测试UDP端口等,详见https://my.oschina.net/davehe/blog/261845

https://www.cnblogs.com/wenbiao/p/3375811.html

关于检查端口是否开启的常用方法命令整理如下:

  • nmap ip 查看本机开放的端口,会扫描所有端口

    关于nmap

    nmap:是一款强大的网络扫描工具,可扫描网段内主机的port、服务、service,支持多种协议、多种扫描方式的工具。
    在排查网络问题中,也是常用的工具之一
    https://www.jianshu.com/p/d4d86d2882a2

  • netstat -anlp | grep port
  • lsof -i:port
  • telnet ip port
  • nc -v ip port

*关闭服务既对应端口就关闭了,但是,及时服务开启,如果防火墙对对应的端口进行了限制,这样端口也不能被访问,这时端口本身没有关闭,只是端口被屏蔽了。

wget文件下载命令

wget 非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。

命令格式:wget [参数] [url地址]

常用命令:https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/wget.html

方便应用

  • 查看当前进程中占用内存最大的进程

   解:top查看进程,然后按下大写M,会按照memory排序,按大写P会按照CPU排序

  • 打包压缩,解压war,jar命令

   解:jar -xvf xxx.war /目录名  将此目录下的文件打包成xxx.war

         jar -xvf xxx.war  解压xxx.war文件到当前目录

posted @ 2019-04-11 09:05  caohaizhusha  阅读(157)  评论(0)    收藏  举报