liunx 个人常用

1、查看当前目录下所有文档的内容行数   :    wc -l *
2、查看当前目录下所有文档的大小   :   du -sh *
4、查看服务器磁盘使用情况 df -h
5、查看服务器内存状况 free -g
6、查看当前目录下文件数量  ls -l |grep "^-"|wc -l
78.top [参数] | 显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
80.free [参数] | 显示linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer
96.su [参数] user | 切换登陆
97.sudo | 以特定用户的权限执行特定命令
34.users 显示当前登录系统地用户


7  ps -ef | grep python3
8  kill -9  进程号


查看日志
tail notes.log   要显示 notes.log 文件的最后 10 行
tail -n 100 notes.log  -n<行数> 显示文件的尾部 n 行内容
tail -f notes.log   //-f 循环读取   ctrl+c 结束
tail +20 notes.    显示文件 notes.log 的内容,从第 20 行至文件末尾:
tail -n -100 /etc/cron #除了前99行不显示外,显示第100行到末尾行
tail -c 10 notes.log  显示文件 notes.log 的最后 10 个字符
tail notes.log | nl  显示行号
head  显示开头,类似tail


env  环境变量
64.set 显示环境变量和普通变量 
65.env 显示环境变量 
66.export 把普通变量变成环境变量 
67.unset 删除一个环境变量

复制
cp -a source directory

创建
touch file 
mkdir dir  创建一个空目录
mkdir -p file1/file2  递归创建多个目录
mkdir -m 777 file3   创建权限为777(rwxrwxrwx)的目录
2.mv [选项] 源文件或目录 目录或多个源文件 | 移动或重命名文件

删除
删除文件: rm file  www.2cto.com  
删除文件夹: rm -rf dir
需要注意的是, rmdir 只能够删除 空文件夹


#删除keep文件之外的所有文件
rm -rf !(folder) 

#删除folder1和folder2文件之外的所有文件
rm -rf !(folder1 | folder2)

#删除keep文件之外的所有文件
ls | grep -v keep | xargs rm  
说明: ls先得到当前的所有文件和文件夹的名字, grep -v keep,进行grep正则匹配查找keep,-v参数决定了结果为匹配之外的结果,也就是的到了keep之外的所有文件名,然后 xargs用于从 标准输入获得参数 并且传递给后面的命令,这里使用的命令是 rm,然后由rm删除前面选择的文件。
好处:使用了grep来正则表达式来匹配文件名字,可以一次保留多个文件,从而进行更加准确的处理。

使用find命令代替ls,改进方法3从而能够处理制定文件夹的文件:
#删除当前test文件夹中keep文件之外的所有文件
find ./test/ | grep -v keep | xargs rm 
说明,用grep而不用find -name选取名字,因为find选取名字时比较麻烦,对正则表达式支持不够,无法排除指定文件名。


直接使用find命令删除其他文件:
#删除keep以外的其他文件。
find ./ -name '[^k][^e][^e][^p]*'  -exec rm -rf {} \; 

 #删除keep以外的其他文件。推荐!
find ./ -name '[^k][^e][^e][^p]*'  | xargs rm -rf  
说明:上面第二行的代码效率高些,原因在于删除多个文件时 -exec会启动多个进程来处理,而xargs会启动一个rm进程来处理

pwd  显示当前路径

查找文件
find . -type f  将目前目录其其下子目录中所有一般文件列出
find . -ctime -20  将目前目录及其子目录下所有最近 20 天内更新过的文件列出
find ./ -name *Bas*php    当前目录下查找  文件名包含Bas的php文件
find ./ -name *Bas\**php    当前目录下查找  文件名包含Bas*的php文件
find -type f -name '*.php'| xargs grep 'AcyUser'  ------查找内容包含AcyUser的php文件
find -type f -name '*.php'| xargs grep -i 'acyUser'--------不区分大小写
grep -r "abc" dir/
find / -type f -size 0 -exec ls -l {} \;  为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:
find . -type f -perm 644 -exec ls -l {} \; 查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:

grep -rn "AcyUser" ./   当前目录下查找包含 AcyUser的文件
find ./acy  -type f  | xargs grep -i 'AcyUser' |grep " *.php"     当前目录下查找包含 AcyUser的文件的php文件


通过进程号,找目录
top --查看进程号
cd  /proc/进程号/
ls -ail  查看

grep用法:
grep 递归搜索文件
语法:grep -r -n “XXXX” ./ 
说明:-r 表示递归,-n 表示标出要搜索的内容所在的行数,“XXXX” 表示当前要搜索的内容,./ 表示在当前文件下

grep排除搜索目录
使用 grep时,经常会遇到这样一个问题,要查找的内容(变量命名等)在一个或者多个文件(目录)中有,但是,我们又不想搜索它们,因此就可以使用 –exclude-dir 选项。

用法

1、 单个目录示例:
grep -r -n “XXXX” ./ –exclude-dir=framework 
不搜索framework目录下的文件

2、多个目录示例:
grep -r -n “XXXX” ./ –exclude-dir={framework,device,kernel-3.10} 
不搜索framework,device,kernel-3.10 三个目录下的文件

3、多个文件示例:
grep -r -n “XXXX” ./framework –exclude=*.{hello,raindi} 
在framework目录下排除搜索扩展名为hello和raindi的文件

find用法:
1、按照文件名查找
(1)find / -name httpd.conf   
在根目录下查找文件httpd.conf,表示在整个硬盘查找 
     
(2)find /etc -name httpd.conf   
在/etc目录下文件httpd.conf 
     
(3)find /etc -name ‘srm’   
使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件 
     
(4)find . -name ‘srm*’    
表示当前目录下查找文件名开头是字符串‘srm’的文件

2、按照文件特征查找     
(1)find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)

(2)find / -atime -2   # 查找在系统中最后48小时访问的文件

(3)find / -empty   # 查找在系统中为空的文件或者文件夹

(4)find / -group cat   # 查找在系统中属于 group为cat的文件

(5)find / -mmin -5   # 查找在系统中最后5分钟里修改过的文件(modify time)

(6)find / -mtime -1   #查找在系统中最后24小时里修改过的文件

(7)find / -user fred   #查找在系统中属于fred这个用户的文件

(8)find / -size +10000c  #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)

(9)find / -size -1000k   #查找出小于1000KB的文件

3、使用混合查找方式查找文件
参数有: !,-and(-a),-or(-o)。

(1)find /tmp -size +10000c -and -mtime +2   #在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件

(2)find / -user fred -or -user george   #在/目录下查找用户是fred或者george的文件文件

(3)find /tmp ! -user panda  #在/tmp目录中查找所有不属于panda用户的文件
--------------------- 

 

------------------------------------------------------------------------------------------------------------------------

linux查看日志文件内容命令tail、cat、tac、head、echo

tail -f test.log
你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C,

---------------------------
linux 如何显示一个文件的某几行(中间几行)

从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000

显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000

*注意两种方法的顺序
分解:
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行

用sed命令
sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

例:cat mylog.log | tail -n 1000 #输出mylog.log 文件最后一千行

---------------------------
cat主要有三大功能:
1.一次显示整个文件。$ cat filename
2.从键盘创建一个文件。$ cat > filename 
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件: $cat file1 file2 > file
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
例:
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3

把test.txt文件扔进垃圾箱,赋空值test.txt
cat /dev/null > /etc/test.txt 
注意:>意思是创建,>>是追加。千万不要弄混了。
------------------------------------------
tac (反向列示)
tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,
而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

------------------------------------------
在Linux中echo命令用来在标准输出上显示一段字符,比如:
echo "the echo command test!"

这个就会输出“the echo command test!”这一行文字!

echo "the echo command test!">a.sh
这个就会在a.sh文件中输出“the echo command test!”这一行文字! 
该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。
用echo命令输出加引号的字符串时,将字符串原样输出;
用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值