Linux常见操作

一、查找文件

1.find

find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 

查找目录:find /(查找范围) -name '查找关键字' -type d
查找文件:find /(查找范围) -name 查找关键字 -print

2.grep

grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。

基本格式:find  expression

[options]主要参数:
  -c:只输出匹配行的计数。
  -i:不区分大小写
  -h:查询多文件时不显示文件名。
  -l:查询多文件时只输出包含匹配字符的文件名。
  -n:显示匹配行及行号。
  -s:不显示不存在或无匹配文本的错误信息。
  -v:显示不包含匹配文本的所有行。

pattern正则表达式主要参数:
  \: 忽略正则表达式中特殊字符的原有含义。
  ^:匹配正则表达式的开始行。
  $: 匹配正则表达式的结束行。
  \<:从匹配正则表达 式的行开始。
  \>:到匹配正则表达式的行结束。
  [ ]:单个字符,如[A]即A符合要求 。
  [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
  .:所有的单个字符。
  * :有字符,长度可以为0。

实例:grep -r "字符串"  很方便

grep 'test' d*  #显示所有以d开头的文件中包含 test的行
grep ‘test’ aa bb cc    #显示在aa,bb,cc文件中包含test的行
grep ‘[a-z]\{5\}’ aa   #显示所有包含每行字符串至少有5个连续小写字符的字符串的行
grep magic /usr/src  #显示/usr/src目录下的文件(不含子目录)包含magic的行
grep -r magic /usr/src  #显示/usr/src目录下的文件(包含子目录)包含magic的行
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

 

3.which

which查看可执行文件的位置 ,只有设置了环境变量的程序才可以用

4.whereis

whereis寻找特定文件,只能用于查找二进制文件、源代码文件和man手册页

5.locate

locate配合数据库查看文件位置 ,详情:locate -h查看帮助信息

二、拷贝文件

命令格式:

 cp [-adfilprsu] 源文件(source) 目标文件(destination)
    cp [option] source1 source2 source3 ...  directory
参数说明:
    -a:是指archive的意思,也说是指复制所有的目录
    -d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身
    -f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
    -i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作
    -l:建立硬连接(hard link)的连接文件,而非复制文件本身
    -p:与文件的属性一起复制,而非使用默认属性
    -r:递归复制,用于目录的复制操作
    -s:复制成符号连接文件(symbolic link),即“快捷方式”文件
    -u:若目标文件比源文件旧,更新目标文件
    如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令:
    cp /test1/file1 /test3/file2

举例:先判断文件"myFile"是否存在,如果不存在则拷贝文件到目标文件夹下

#!/bin/sh
myFile="/root/apue/series_migration_task.xml"

# 这里的-f参数判断$myFile是否存在
if [ ! -f "$myFile" ]; then
cp  ./series_migration_task.xml  /root/apue/
fi

echo "success" 

三、移动文件

命令格式:mv [-fiv] source destination
参数说明:
    -f:force,强制直接移动而不询问
    -i:若目标文件(destination)已经存在,就会询问是否覆盖
    -u:若目标文件已经存在,且源文件比较新,才会更新
    如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令:
    mv /test1/file1 /test3/file2

四、删除文件

命令格式:rm [fir] 文件或目录
参数说明:
    -f:强制删除
    -i:交互模式,在删除前询问用户是否操作
    -r:递归删除,常用在目录的删除
    如删除/test目录下的file1文件,可以输入以下命令:
    rm -i /test/file1

五、查看进程

1.查看端口占用的进程

lsof -i:端口号, 查看某一端口的占用情况

netstat -ntlp:查看当前所有tcp端口

netstatstat -tunlp | grep 端口号:查看端口占用情况

2.根据程序名称查询进程ID

ps -ef | grep 进程名

ps -ef :显示所有进程

 

 

 

参考文献:

【1】linux find 命令查找文件和文件夹 - jiftle - 博客园

【2】linux - shell脚本实现判断文件是否存在,然后不存在则拷贝文件 - SegmentFault 思否

【3】linux下文件的复制、移动与删除 - _jackie - 博客园

【4】shell 一 判断文件是否存在 创建文件 拷贝文件

你可能感兴趣的:(Linux常见操作)