Linux常用命令

linux命令
ls命令
list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等

ls -l 查看权限。 w写4 r读2 x执行1

cd命令
(changeDirectory) 说明:切换当前目录至dirName
进入根目录 cd /
进入home目录 cd ~
回退到上一级目录 cd …
进入相对路径子目录 cd ./xxx
进入上一次目录 cd -

pwd命令
查看当前工作目录路径

mkdir命令
make directory 创建文件夹

rm命令
rm -i 删文件,在删除前需要确认
rm -f, 删文件,强制删除。忽略不存在的文件,不提示确认
rm -r, 删除目录及其内容
rm -rf 强制删除目录
-f不是即使文件属性为只读也能删除,-r就可以删除目录以及其下所有文件了,
为了防止有保护文件而无法删除所以才用-rf组合

rmdir命令
删除空文件夹

mv命令
移动文件或修改文件名
mv a.txt test 把a移动到test中
mv dir1 dir2 移动dir1到dir2中
mv a.txt b.txt 把a的名字改成b
mv -i a.txt b.txt 把a的名字改成b 如果b已经存在,给出询问

touch 新建文件

cp命令
将源文件复制至目标文件,或将多个源文件复制至目标目录。

cat命令
一次显示整个文件:cat file
显示行号查看 cat -n file
把a和b文件加上行号扔到c cat -b a.log b.log c.log

more命令
功能类似于cat, more会以一页一页的显示方便使用者逐页阅读
确定键 下一行
b键 上一页 space 下一页
q键 退出
more -5 test.log 每次显示5行
cat test.long | more -5 每次显示5行

less命令
less 与 more 类似
除此之外, 可以还可以利用上下键来卷动文件。当要结束浏览时,下按Q键即可。

head命令
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
head -n 20 a.log 展示前20行

tail命令
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
tail -n 5 查看最后5行
tail -f 循环读取日志文件 ctrl + c 退出

env命令
查看所有环境变量及对应值
查看当前PATH配置:echo $PATH

which命令
查看可执行文件的位置,是在PATH就是指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。
which ls
which which
which cd(显示不存在,因为cd是内建命令,而which查找显示是PATH中的命令)

whereis命令
只能用于程序名的搜索,而且只搜索
二进制文件(参数-b)、
man说明文件(参数-m)
源代码文件(参数-s)。
whereis monitor.log

whereis及locate都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。

find命令
用于在文件树中查找文件,并作出相应的处理
find 路径 -name 要求
在当前目录查找 以.log结尾的文件。 find . -name ‘.log’
查看对应规则文件 1ab.log/1abc.log find . -name '[0-9][a-z].log’
查找.目录下 权限为 777的文件 find . -perm 777
查找48小时内修改过的文件 find -atime -2
查找大于1K的文件 find -size +1000c

grep命令
grep(Global Regular Expression Print)全局正则表达式搜索
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。
grep ‘hello’ a.txt hello/ helloworld

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -i ‘hello’ a.txt hello/ HEllo/HELLO

grep -w pattern files :只匹配整个单词,而不是字符串的一部分 如匹配‘magic’,而不是‘magical’
grep -w ‘hello’ a.txt hello

grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。

以下为正则表达式部分规则

grep ‘^he’ 查找he开头的
grep ‘llo’ 查看llo结尾的 grep ‘^he…llo ′
查看llo结尾的grep
′he…llo’ 查看he开头,然后2个字符,llo结尾的字符串
但是 grep 只能识别一些简单的正则,深入的扩展正则表达式不允许使用,例如+/{5,}
此时一定要换成egrep命令使用
egrep ‘^ [a-z]{5,}$’ 查找至少5个小写字母的字符串
^ #锚定行的开始 如:’^grep’匹配所有以grep开头的行。
$ #锚定行的结束 如:‘grep$‘匹配所有以grep结尾的行。
. #匹配一个非换行符的字符 如:‘gr.p’匹配gr后接一个任意字符,然后是p。
* #匹配零个或多个先前字符 如:‘grep’匹配所有一个或多个空格后紧跟grep的行。
.
#一起用代表任意字符。
[] #匹配一个指定范围内的字符,如’[Gg]rep’匹配Grep和grep。
[^] #匹配一个不在指定范围内的字符,如:’[^A-FH-Z]rep’匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
(…) #标记匹配字符,如’(love)’,love被标记为1。
< #锚定单词的开始,如:'<grep’匹配包含以grep开头的单词的行。
> #锚定单词的结束,如’grep>'匹配包含以grep结尾的单词的行。
x{m} #重复字符x,m次,如:'0{5}'匹配包含5个o的行。
x{m,} #重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。
x{m,n} #重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5–10个o的行。
\w #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p’匹配以G后跟零个或多个文字或数字字符,然后是p。
\W #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。
\b #单词锁定符,如: '\bgrep\b’只匹配grep。

grep -A 5 foo file 显示foo及后5行
grep -B 5 foo file 显示foo及前5行
grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行

chmod命令
用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
权限范围:
u :当前的用户
g :当前用户的群组
o :除了当前用户之外的用户
a :所有的用户及群组
权限代号:
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
s :特殊权限
参数
-c 当发生改变时,报告处理信息
-R 处理指定目录以及其子目录下所有文件

(增加)文件t.log所有用户可执行权限 chmod a+x t.log
使拥有者(只有)可读权限,并输出处理信息 chmod u=r t.log -c
给file的user=分配读、写、执行(7)的权限,group=分配读、执行(5)的权限,给others=分配执行(1)的权限 chmod 751 t.log -c 或 chmod u=rwx,g=rx,o=x t.log -c
将test目录及其子目录所有文件添加可读权限 chmod u+r,g+r,o+r -R text/

tar命令
打包功能,用来压缩和解压文件
tar本身不具有压缩功能,有关压缩及解压是调用其它的功能来完成。

压缩 tar -cvf tar名 文件 tar -cvf log.tar 1.log,2.log
解压 tar -xvf /tmp/etc.tar

压缩成gz文件 tar -czvf hello.tar.gz
解压gz文件 tar -xzvf hello.tar.gz

chown命令
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符

-c 显示更改的部分的信息
-R 处理指定目录及子目录

要修改文件hh.c的所有者.修改为sakia的这个用户所有

chown sakia hh.c
将目录 /tmp/sco 这个目录的所有者和组改为sakia和组net

chown -R sakia:net /tmp/sco

df命令
显示磁盘空间使用情况。获取硬盘被占用了多少空间,目前还剩下多少空间等信息,如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示
-a 全部文件系统列表
-h 以方便阅读的方式显示信息
-i 显示inode信息
-k 区块为1024字节
-l 只显示本地磁盘
-T 列出文件系统类型

显示磁盘使用情况 df -h
以易读方式列出所有文件系统及其类型 df -haT
du命令
是对目录磁盘使用的空间的查看

显示文件夹内大小 du -h scf/
以易读方式显示文件夹及子文件夹文件大小 du -ah scf/

top命令
动态连续显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

查找端口号的使用
lsof -nP -iTCP -sTCP:LISTEN
lsof -i :9999

kill命令
发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。

先使用ps查找进程pro1,然后用kill杀掉
kill -9 $(ps -ef | grep pro1)
kill -9 pid

查看linux下面的端口号
netstat -anp tcp、udp、net|grep 端口号

ps命令
ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用top
ps -ef|grep 相应的进程名称
显示当前所有进程 ps -A

查询指定进程的PID
ps -ef | grep zookeeper

使用ps查询指定进程名或者PID的占用情况
ps -aux | grep zookeeper
ps -aux | grep 2181

查看更详细的内存占比
cat /proc/10997/status

free -h 适于可读方式显示内存信息

1、先用top命令找出cpu占比最高的进程
top

2、找出是哪个程序
ps -ef | grep PID

3、定位具体线程或代码,-m显示所有线程,-p进程使用cpu的时间,-o用户自定义格式
pd -mp PID -o THREAD, tid, time

4、将需要的线程ID转换为16进制格式(英文小写格式)
printf “%x\n” 线程ID

5、jstack打印进程的栈信息
jstack PID | grep tid(十六进制的线程id小写英文) -A60

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值