十分钟 掌握 linux 常用命令

最近一直在使用linux服务器,今天来汇总一下linux的常用命令,帮助自己随时查看,也希望能帮助到你

开机命令

reboot 重启服务器      poweroff 关闭服务器

这两条命令从单词意思上也可以记得很清楚

版本相关

查看内核版本

uname -a

查看linux系统版本命令

lsb_release -a

查看命令

ls 查看当前的目录下的所有文件或目录
ls -a 比ls多显示隐藏文件
ls -t 以文件的修改时间排序
ls -S 以文件的大小进行排序
ls -l 显示文件的对应权限(这个我的另一篇文章里有详细解释)
du 查看当前目录的大小

当然后面的参数可以组合去使用,比如可以使用 ls -al 来显示所有文件包含隐藏文件的权限,同时还能显示软链接等信息

切换目录与查看所在目录

cd(change directory) 从单词中也能够看出,这是进行文件目录切换的命令,所以学好英语对编程的重要性不言而喻。
cd 加路径名(相对路径或者绝对路径),就进入了对应的路径
cd / 进入根目录
cd ~ 进入家目录
cd … 进去该目录的上一层目录 当然上两层目录输入 cd …/… 即可
cd - 进入上一次的工作路径

pwd 查看当前所在的路径
pwd -P 查看链接的实际路径

文件及文件夹的操作

touch 文件名     创建一个文件
mkdir 文件目录 创建一个文件目录
mkdir -p 路径名 在路径下创建目录,若目录不存在则创建对应的目录,这样做的话较为方便
echo "要写入的信息" >> 文件名  写入文件,末尾写入。
echo "要写入的信息" >  文件名  写入的文件,覆盖写入。
rm 文件名        删除文件
rm -r 目录名     删除目录,注意这里面的r是递归的意思。
rm -rf  目录名   强制删除目录以及目录中的所有文件或目录,且不会收到提示,同样也是递归删除。
rm -ri 目录名   删除目录或者目录文件且会收到提示。
rmdir 目录名删除空目录
rmdir -p 目录路径 如果目录也为空的话则一道删除
ls -lR|grep "^-"|wc -l  查看当前目录的文件夹个数

移动和修改文件

mv 文件名 路径  移动文件到对应的路径
如: mv test.txt  /etc/usr/bin
mv -i a.txt b.txt  把文件a.txt 文件改名为 b.txt 如果b.txt 已经存在了,则询问是否覆盖。
mv * ../           把所有文件都移动到上一级目录
cat > 文件名                创建文件并编辑,这里需要注意的是cat 只能新建新的文件,而并不能在已有的文件上进行编辑。
cat 文件名                  把文本里的信息全部展示出来
cat 文件1 文件2 新文件       把文件1和文件2 合并写入新文件

文件复制

​cp -ai  文件名 新文件名
cp -ai  文件名 目录

如果是复制文件夹,记得加参数r

文件查看

head -n 文件名       查看文件的前n行
tail -n 文件名       查看文件的后n行

例子
查看a.txt 的末尾10行

tail -10 a.txt

文件权限相关

文件权限的liunx命令有三个,chmod,chgrp、chown

chmod

在linux文件系统里,有三种不同的用户可以对文件或目录进行访问,分别是属主、同组、其他用户。属主一般为文件的创建者,还可以把文件的操作权限赋予其他的用户。
我们在通过ls -l来查看文件的详细信息时
-rw-rw-r-- 1 wac wac 134 9月 24 15:12 e_c189222.txt
其中第一个字段就标明了文件的权限信息

-rw-rw-r--

我们看到-把他们分隔为三个部分,这个部分代表三种不同的用户对文件的操作权限,其中r代表可读,w代表可写,x代表可执行。
而这三个用户分别代表所属、同组、其他用户。

我们再来讲一下如何改变这些权限

有两种设置方式,第一种是文字设置法。

chmod [who] [+ || =] [mode]

who代表不同的用户分别是u、g、o、a
u代表的是文件的所属者(user)
g代表的同组用户(group)
o代表其他用户(other)
a代表所有用户(all)

+ - = 分别表示对文件权限的操作加减或者对文件的权限进行reload

chmod a+x a.txt				给所有用户对于a的执行的权限
chmod a-w a.txt             所有的用户都不能对a.txt进行执行写入操作

当然在实际的使用中,往往采用的是另一种方式,数字设置法。大家对于chmod 777 文件名肯定不陌生,那么这个代表什么意思呢
777 这三个数字分别代表了不同的用户对文件的操作权限。
其中
r 读 是4
w 写 是 2
x 执行 是 1
4+2+1=7
那么chmod777 则代表给所有用户所有的权限
chmod 764 则代表所属用户可读可执行可写 同组用户可读可写 其他用户只能读
chmod 000 则代表所有用户对其都不能操作

chgrp

这个命令是改变文件所属的组
chgrp group filename

chorp wac a.txt        就是把文件a.txt 更改到 wac组下

如果是更改文件目录想要把文件目录下所有文件的组都更改则是

chorp -R test/

chown

这个命令则跟chgrp类似,是改变文件的属主和所属的组

chown - R  wac etc /demo

这个命令是把etc下的demo目录下的所有文件和目录的组改为wac

文件压缩及打包

​ tar -zcvf etc.tar.gz /etc

文件传输

注意:scp命令是基于ssh进行传递的,在进行文件传输之前,先要保证主机也可ssh免钥登录到服务器。

文件上传:
scp -r 本地文件夹 远程用户名@远程ip: 要上传的文件或文件夹
如:

scp -r D:/上传文件夹/test-19-12.zip root@192.168.1.127:/home/use/

文件下载:
scp -r 远程用户名@远程ip:远程文件路径+文件名 本地路径
如:

scp -r root@192.168.1.127:/home/use/test-19-12.zip  D:/下载文件夹

文件解压缩

这里来介绍两种常用的解压缩格式及方法。

tar 格式

将文件压缩为.tar.gz格式
tar 选项【-zcf】【压缩后文件名】【要压缩的文件或目录】   
————————
         -v 显示详细信息
         -f 指定文件名
         -z 打包同时压缩或解压缩
         -c 打包
         -x 解包

tar -zcvf a.tar.gz a     把目录a压缩为a.tar.gz 的压缩文件  
tar -zxvf a.tar.gz /data  将压缩包解压至 /data 目录下

zip 选项【-r(选调目录加文件则不需要加)】【压缩后文件名】【被文件或目录】

zip 格式

将文件或目录压缩为.zip格式。

zip -r a.zip a

把目录a压缩为 a.zip 文件

grep 命令

我们先来看看什么是grep,很多同学都知道可以通过 ps-ef|grep 文件名 来查看文件进程,都以为grep是查看文件进程及命令的。但是实际情况是,grep要远比这强大的多。

grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本。这就很强大了,他是一个文本搜索或者可以说是文本匹配的工具,那么他的强大自然而然就在于文本的处理了,他的难点就在于正则表达式而不是他本身了。

下面就简单的说一下grep的用法,由于正则表达的基本使用式我的另一篇文章有介绍。所以在这里就不再多加叙述。

grep -i  "正则表达式/文本"  文件名    搜索出能匹配上的字符串
grep -i -n "正则表达式/文本"  文件名    搜索出能匹配上的字符串并打印其行号
grep -i -n --color  "正则表达式/文本"  文件名    搜索出能匹配上的字符串并打印其行号,且颜色标明
grep -i -o  "正则表达式/文本"  搜索出能匹配上的字符串,但只打印字符串本身
grep -i ​ -An "正则表达式/文本" 文件路径    搜索出要匹配字符串的前n行
grep -i -Bn "正则表达式/文本" 文件路径    搜索出要匹配字符串的后n行
grep -i -Cn  "正则表达式/文本" 文件路径    搜索出要匹配字符串的前后n行

下面是一些简单的运用实例。

ps -ef | grep "正则表达式/文本"    查找指定的进程
 ps -ef| grep "正则表达式/文本" -c    查找指定进程的个数
 grep -lR 'pandas$' /home    在home目录中递归查找以pandas 为结尾的文件,并只列出文件名
 grep -E 'ed|at' test.txt  或者  grep -e 'ed' -e 'at' test.txt    查找包含ed或者at的文本
 grep -q 'ed' test.txt echo $?    查找文本中是否包含'ed' 包含则返回0,不包含则返回1
 cat test.txt | grep -f key.log    搜索文件中包含日志关键词的文本

查看端口占用

netstat -nat  查看当前的端口号的占用情况

当然如果想查看某一端口号的使用情况,
则只需要使用命令

netstat -nat |grep “端口号”

比如想查看80端口的占用情况

netstat -nat |grep “80”        查看80端口的相关信息
lsof -i:8080                   检查8080端口的占有情况
lsof -c -p 1234:              列出进程号为1234的进程所打开的文件

一键还原

rm -rf /*   慎用

总结

千里之行始于足下,这些都是linux最基础的命令,如果是用于从事服务端工作,这些命令是远远不够的,但是作为日常使用服务器做一些日常开发,这些简单的使用能够保证你工作的进行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值