Linux常用操作命令

一、文件操作

1、切换目录

cd ~   #进入当前用户的home目录

cd -   #进入上次目录

cd ..  #进入上一级目录

cd .   #进入当前目录

2、查看目录内容

ls -ltr    #排序当前目录下的文件通过最后修改时间

pwd    #显示工作目录所在位置(显示绝对路径)

mkdir  #创建目录,-p 递归创建,用于创建多级目录

cp     #复制文件或目录(复制后改名)

语法:cp [选项] [原文件或目录] [目标目录] [复制后改名为]

-r  #复制目录,将指定目录下的所有文件与子目录一并处理

-f  #强行复制文件或目录,已存在会覆盖

-i  #覆盖既有的文件前先询问用户

-p  #连带文件属性复制

-d  #若源文件是链接文件,则复制链接属性

-a  #相当于-pdr

mv  #剪切或改名,如果原文件和目标目录在同一目录下,则为改名,否则为剪切

rm  #删除文件或目录

rm -rf [文件或目录]  #选项:-r 删除目录;-f 强制执行

rmdir   #删除空目录  -p删除指定目录树;-v输出诊断学习

二、查找文件

1、find /home/logs -mtime +10 -name "*.*"

 (1)命令参数:

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

-print: find命令将匹配的文件输出到标准输出。

-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {  } \;,注意{   }和\;之间的空格。

-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

(2)命令选项:

-name 按照文件名查找文件

-perm 按文件权限查找文件

-user 按文件属主查找文件

-group  按照文件所属的组来查找文件。

-type  查找某一类型的文件,诸如:

   b - 块设备文件

   d - 目录

   c - 字符设备文件

   l - 符号链接文件

   p - 管道文件

   f - 普通文件

-size n :[c] 查找文件长度为n块文件,带有c时表文件字节大小

-amin n   查找系统中最后N分钟访问的文件

-atime n  查找系统中最后n*24小时访问的文件

-cmin n   查找系统中最后N分钟被改变文件状态的文件

-ctime n  查找系统中最后n*24小时被改变文件状态的文件

-mmin n   查找系统中最后N分钟被改变文件数据的文件

-mtime n  查找系统中最后n*24小时被改变文件数据的文件

(用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 )

-maxdepth n 最大查找目录深度

-prune 选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略

-newer 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项

(3)实例

find -size +1000c   #查找大于 1K 的文件

find . -f -name 'passwd*' -exec grep "pkg" {} \;    #当前目录下查找文件名以 passwd 开头,内容包含 "pkg" 字符的文件

find /home/logs -mtime +10 -name "*.*" -exec rm -rf {} \;  #清理的目录 /home/logs 10天前的文件

2、locate+updatedb

updatedb 命令用来创建或更新 slocate/locate 命令所必需的数据库文件

locate your_file_name

locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。

3、grep

grep test file*

grep -r update /etc/acpi     #以递归的方式查找符合条件的文件

grep -v test test          #通过"-v"参数可以打印出不符合条件行的内容。

-n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。

grep 'pattern\|pattern2'  filename  #OR操作符  

grep -E 'pattern1|pattern2' filename ##OR操作符 grep -E选项用于扩展正则表达式。如果使用带-E选项的grep命令,则只需使用|为条件OR来分隔多个模式。

grep -E 'pattern1.*pattern2' filename # Grep AND

4、which

whereis [-bmsu] dirname/filename    #文件搜索。速度比较快,因为它只搜索几个特定的目录。   

三、服务器操作

1、查看服务器信息

curl icanhazip.com     #查询本机公网IP

netstat -an |grep 'ESTABLISHED' |grep 'tcp' |wc -l  #统计 TCP连接数 命令

grep 'physical id' /proc/cpuinfo | sort -u | wc -l         #查看 CPU 物理个数

grep 'core id' /proc/cpuinfo | sort -u | wc -l               #查看 CPU 核心数量

dmidecode -s processor-version                              #查看 CPU  型号

cat /proc/cpuinfo                                                      #查看 CPU 的详细信息

cat /proc/cpuinfo |grep "processor"|wc -l                 #查看逻辑CPU的个数

free    -t   # 命令以字节为单位显示可用内存、总内存和交换内存信息。

df -h   #查看磁盘使用情况

du -sh ./logs  #查看logs文件大小

ps -l   #查看自己的进程

pstree -A  #查看所有进程树

ps aux | grep threadx  #查看特定的进程

netstat -anp | grep port  #查看占用端口的进程

2、查看服务器信息 top    按 1  查询逻辑cpu详情

3、验证UDP端口是否打开,yum install nmap-ncat.x86_64

nc -vuz 112.13.106.152 5061

nc -lu 5068    开启UDP 5060服务   输入字符串按回车

nmap -sU 192.168.1.211 -p 5068 -Pn  //探测UDP 5060 端口

4、验证TCP端口是否打开  yum install nmap

nc -l 5068    开启tcp5060服务  输入字符串按回车

nmap 192.168.1.211 -p 5061  //发送tcp

5、输出到文件

linux 命令输出保存为文件的三种方式:

(1)ls >2.txt    将ls命令直接保存到home文件夹下的2.txt,命令窗口无显示

>  #若存在则覆盖

>> #若存在则追加

(2)ls | tee 2.txt  也是直接保存在了home文件夹下的2.txt,命令窗口有显示

(3)script -a 1.txt  ...   exit

说明:scrip可以记录终端的所有输出到相应的文件中,启动script时没有指定文件名,它会自动记录到当前目录下一个名为 typescript的文件中。-a参数 指定文件名

用exit退出script时,实际上script相当于启动了一个shell。

四、压缩和解压文件

1、tar操作

tar -zxvf aa.tar.gz   #解压文件

tar -zcvf aa.tar.gz  /home/aa     #压缩aa文件夹为aa.tar.gz文件

2、zip操作

安装: yum install zip   yum install unzip

unzip test.zip -d /tmp/   #解压的文件test.zip -d 指定解压路径

zip -q -r html.zip /home/html            #将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip

zip -q -r html.zip *                            #如果在我们在 /home/html 目录下,可以执行以下命令

zip -dv cp.zip a.c                             #从压缩文件 cp.zip 中删除文件 a.c

五、查看文件操作命令

1、more 文件内容或输出查看工具

#more显示输出的内容,然后根据窗口的大小进行分页显示,然后还能提示文件的百分比;

2、查看文件内容工具:

less 对文件或其它输出进行分页显示的工具:

b  #向后翻一页

d  #向后翻半页

h  #显示帮助界面

Q  #退出less命令

u  #向前滚动半页

y  #向前滚动一行

空格键  #滚动一行

回车键  #滚动一页

3、cat 后面跟要查看的文件,文件内容全部输出到屏幕

语法:#cat [选项] 文件名

选项有:-n显示每行的编号;  -s显示连续空行为一行;  -b显示每行非空白行编号

4、#head 工具,显示文件内容的前几行

语法:#head -n [行数值] [文件名];

比如显示/etc/profile的前10行内容,应该是:head -n 10 /etc/profile

5、#tail 工具,显示文件内容的最后几行

语法:#tail -n [行数值] [文件名]

比如显示/etc/profile的最后5行内容,应该是:tail -n 5 /etc/profile

tail -f /var/log/messages   #参数-f使tail不停地去读最新的内容,这样有实时监视的效果 用Ctrl+c来终止!

6、#grep 工具查询字符串

语法:#grep[关键字] [查找范围]

7、wc 命令

wc text.txt  #查找文件的 行数 单词数 字节数 文件名

8、scp 命令

scp   #命令使用端口号 4588

scp -r /home/space/music/ root@www.runoob.com:/home/root/others/

scp -r /home/space/music/ www.runoob.com:/home/root/others/

cp –r test/ newtest  #将当前目录 test/ 下的所有文件复制到新目录

六、系统挂载与卸载

1、系统挂载

(1)sudo fdisk -l  #插入u盘,输入下面的命令查看是否连接了u盘,这个命令是用来查看硬盘信息的。

(2)输入#mount命令查看文件系统挂载信息

(3)sudo mount /dev/sdb1 usb  #输入下面的命令进行u盘挂载。下面的命令是将u盘挂载到usb文件夹下。

2、卸载文件系统

sudo umount /dev/sdb1  #卸载文件系统,就是将文件系统从挂载点移走。输入下面的命令卸载文件系统。

3、挂载

mkfs -t xfs /dev/sdb1   #在第一个分区上创建xfs类型的文件系统:#

mkdir /sdb1  #创建挂载点:

mount /dev/sdb1 /mnt/sdb1  #然后挂载文件系统:

mount  #查看挂载的文件最后两行

df     #查看磁盘空间占用情况

七、关机和重启

who   #在关机前需要先使用 who 命令查看有没有其它用户在线。

sync  #为了加快对磁盘文件的读写速度,位于内存中的文件数据不会立即同步到磁盘,因此关机之前需要先进行 sync 同步操作。

reboot  #表示立即重启

shutdown #关机

shutdown [-krhc] 时间 [信息]

-k : 不会关机,只是发送警告信息,通知所有在线的用户

-r : 将系统的服务停掉后就重新启动

-h : 将系统的服务停掉后就立即关机

-c : 取消已经在进行的 shutdown

八、vim编辑

vim的模式:命令模式、输入模式、末行模式

进入vim的命令模式:#vi [文件名]

1、命令模式(任何模式下按esc都可进入)

(1)光标的定位

shift+: 进入低行模式,然后输入 set nu 就可以在前面加上行号,set nonu 就可以取消行号:

 GG   #跳到最后一行的开头

  gg   #回到第一行的开头;

        nG 或者: n    #跳到指定的行

         $     #移至到当前光标所在的行尾

         0     #移至到当前光标所在

补充:b 往前找,w 往后找,并且每次跳过一个单词;

  hjkl 对应着左移、下移、上移、右移;也可以用上下左右键来移动;

      L 是移动到本界面的最后一行;

(2)字符检索

/str       #向光标之下寻找一个名称为 str 的字符串

?word   #向光标之上寻找一个字符串名称为 word 的字符串。

n         #例如 /vbird 后,按下 n 则表示『向下』搜寻 vbird

N        #例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird

(3)文本的复制粘贴和删除

dd    #删除游标所在的那一整行(常用),;然后 p 就可以复制到当前光标处的下一行,P 复制到当前光标处的上一行

ndd   # n为数字。删除光标所在的向下 n 列,例如 20dd 则是删除 20 列 (常用)

yy    #复制游标所在的那一行(常用),然后 p 就可以复制到当前光标处的下一行,P 复制到当前光标处的上一行

nyy   # n为数字。复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常用)

x, X  #在一行字当中,x 为向后删除一个字符 (常用)

nx    #n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符,『10x』。

(4)撤销和重复

u   #复原前一个动作(常用)

.    #重复前一个动作(常用)

(5)保存和退出

ZZ   #保存和退出

ZQ   #不保存并退出

w!    #保存修改

:q  退出vim

:q!   #不保存修改退出

:wq!  #保存修改并退出;或者用 x!,在或者用 ESC+shift+ZZ

:w    #文件名;表示把当前文件的内容另存到指定文件里;相当于备份。

2、进入到输入模式的命令

i  #在当前位置插入文本

I  #在行首插入文本

a  #在当前位置追加文本

A  #在行尾追加文本

O  #在光标所在行上面新建一行等待输入

o  #在光标所在行下面新建一行等待输入

3、末行模式(在命令模式下按Shift+“:”)

:/str/  #光标向后移动到被搜索的字符串str的位置

:?str?  #光标向前移动到被搜索的字符串str的位置

:/str/ w file         #将包含str的行写入文件file中

:/str1/,/str2/w file  #将从str1开始带str2结束的内容写到文件file中

:s/str1/str2/g        #将所有str1替换成str2

:n  #输入要移动的行号,光标可到达

:w  #将编辑的数据写入硬盘档案中(常用)

:w file  #将当前编辑的内容写到文件file中

:n1,n2 w [filename]  #将 n1 到 n2 的内容储存成 filename 这个档案。

:d    #删除当前行

:nd   #删除当前开始的n行

:n1,n2 co n3  #将从n1到n2的信息复制到n3

:n1,n2 m n3   #将从n1到n2的信息移动到n3

:n1,n2 d      #删除n1到n2的内容

:.,$d         #删除当前到结尾的内容

:/a/,/b/d     #删除a到b的内容

:set nu    #显示行号

:set nonu  #取消行号

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值