Linux常用命令

本文详细介绍了Linux常用命令的使用,包括mkdir、cd、创建文件、tar、mv、cp、history、tail、ls、ps、top、chmod、wget、find、rm等,涉及文件和目录操作、权限管理、进程查看、文件传输、历史命令检索等多个方面,旨在帮助读者熟练掌握Linux系统的基本操作。

Linux必备命令:
http://istester.com/linux/219.html

Linux21天打卡常用命令

mkdir命令

1.在/user/目录下,新建一个文件夹isTester
mkdir –p /user/isTester
2. 在/etc/目录下,新建一个文件夹idoxu
mkdir –p /etc/idoxu
3. 在/user/isTester目录下,新建三个文件夹isTester1 isTester2 isTester3
mkdir isTester1 isTester2 isTester3
4. 在/user/目录下,新建一个多层级文件夹idoxu/istester/2020
mkdir –p /user/idoxu/istester/2020

cd命令

1.进入目录/user/idoxu/istester/2020
cd /user/idoxu/istester/2020
2. 进入上级目录
cd …
3. 进入上两级目录
cd …/…
4. 进入当前用户主目录
cd ~
5. 进入当前目录
cd .

创建文件

创建文件,用至少3种方式创建
1) 在/etc/idoxu目录,创建文件isTester.ini
touch isTester.ini
vi isTester1.ini
ls >>isTester3.ini
2)在/user/isTester/目录,创建文件isTester6.ini
cp /etc/idoxu/isTester.ini /user/isTester/isTester6.ini
3) /user/idoxu/目录,创建文件isTester8.ini
echo $PATH > isTester8.ini

同时创建多个文件
1)在/etc/idoxu目录下,同时创建文件 isTester666.ini idoxu666.ini
touch isTester666.ini idoxu666.ini
2) 在/user/isTester/目录,同时创建300个文件isTester101.ini –isTester400.ini
touch isTester{101…400}.ini
3) 更改文件 isTester.ini时间为当前时间
touch isTester.ini

tar命令

1)压缩/etc/idoxu目录下的文件isTester.ini为istester.tar.gz
tar -zcvf istester.tar.gz isTester.ini
2) 压缩多个文件 isTester.ini idoxu.ini
tar -zcvf idoxu.tar.gz isTester.ini idoxu.ini
3) 压缩文件夹 isTester/
tar -zcvf isTester.tar.gz isTester/
4) 将当前目录,所有jpg文件打包成isTesterjpg.tar
tar -cvf isTesterjpg.tar *.jpg
5) 将当前目录,所有jpg文件打包并压缩成isTesterjpg.tar.gz
tar -zcvf isTesterjpg.tar.gz *.jpg
6) 解压 isTesterjpg.tar
tar -xvf isTesterjpg.tar
7) 解压isTesterjpg.tar.gz
tar -zxvf isTesterjpg.tar.gz

常用的压缩语法:
打包并压缩为gz tar –zcvf xx.tar.gz test.ini
打包tar tar –cvf xx.tar test.ini
解压tar tar –xvf test.tar
解压tar.gz tar –zxvf test.tar.gz

语法:tar [主选项+辅选项] 文件或目录
使用该命令时,主选项必须有,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:【一条命令以下5个参数只能有一个】
-c: --create 新建一个压缩文档,即打包
-x: --extract,–get解压文件
-t: --list,查看压缩文档里的所有内容
-r:–append 向压缩文档里追加文件
-u:–update 更新原压缩包中的文件
辅助选项:
-z:是否同时具有gzip的属性?即是否需要用gzip压缩或解压?一般格式为xxx.tar.gz或xx.tgz
-j:是否同时具有bzip2的属性?即是否需要用bzip2压缩或解压?一般格式为xx.tar.bz2
-v:显示操作过程!这个参数很常用
-f:使用文档名,注意,在f之后要立即接文档名,不要再加其他参数!
-C:切换到指定目录
–exclude FILE:在压缩过程中,不要将FILE打包

mv命令

1.进入/usr/idoxu/istester目录,移动当前文件夹2020,到usr/isTester目录
cd /user/idoxu/istester
mv 2020/ /user/isTester/
2. 移动/etc/idoxu目录下的文件isTester.ini 到/usr/isTester目录
cd /etc/idoxu
mv isTester.ini /user/isTester/
3. 当前目录istester.tar.gz 移动到/usr/isTester目录,并重命名为istester2020.tar.gz
mv istester.tar.gz /user/isTester/istester2020.tar.gz
4. 移动当前目录的isTester.tar.gz文件到上级目录
mv isTester.tar.gz …/
5. 一条命令,移动两个文件 isTester.tar idoxu.tar 到目录/usr/isTester
mv isTester.tar idoxu.tar /user/isTester/

cp命令

1) 复制当前目录部署包isTester.tar.gz 到备份目录/APP/istester/idoxu/bak 目录
cp isTester.tar.gz /APP/istester/idoxu/bak/
2) 复制文件夹 isTester 到部署目录 /APP/istester/idoxu/
cp -r isTester /APP/istester/idoxu/

cp命令主要用于复制文件或目录。
语法:
cp [options] source dest
cp [options] source… directory

常用的cp参数
cp -r source… directory
cp -rf source… directory
参数说明:
-f:覆盖已经存在的目标文件而不给出提示。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

history命令

1) 查看历史命令执行记录
history
2) 查看命令mkdir的历史执行记录
history | grep mkdir
3) 执行历史记录中,序号为178的命令
!178

history命令主要用于显示历史指令记录内容, 下达历史纪录中的指令
history 列出所有历史记录
history [n]; 参数n:数字,要列出最近的 n 笔命令列表
history [-c] 参数-c :将目前的shell中的所有 history 内容全部消除
!178 使用命令记录号码执行命令,执行历史清单中的第178条命令

tail命令

1) 实时显示文件istester.log最新内容
tail -f istester.log
2) 实时显示文件istester.log最新500条内容
tail -500f istester.log

tail命令从指定点开始将文件写到标准输出。
tail –f filename 不断刷新显示最新的内容;tail -20f istester.log实时显示最新的20条内容
tail –n num filename 显示最后的num行;tail –n 10 istester.log 显示最后的10行

ls命令

1) 列出当前目录中所有的子目录和文件
ls
2) 列出目录下的所有文件(包括隐藏文件)
ls -a
3) 列出文件的详细信息(包括权限、所有者、文件大小等)
ls-l
4) 列出当前目录中所有以“isTester”开头的详细内容
ls -l | grep isTester

ps命令

1) 查看所有进程
ps -A
2) 显示所有进程信息,连同命令行
ps -ef
3) 查看mysql进程
ps -ef | grep mysql

ps命令用于显示当前进程的状态
ps -A 列出所有的进程
ps -ef 显示所有进程信息,连同命令行
ps -aux 用BSD的格式显示进程
查找指定进程格式:ps -ef | grep 进程关键字

top命令

1) 显示进程信息
top
2) 监控每个逻辑CPU的状况
top按1
3) 高亮显示当前运行进程
top按b
4) 显示完整命令
top按c
5) 退出top程序
top按q

top命令实时显示 process 的动态
top命令详细介绍见搜索到的文章https://www.jianshu.com/p/a6e96c102881

chmod命令

1) 给文件isTester.ini赋予 只读权限
chmod a=rw isTester.ini
或chmod 444 isTester.ini
2) 给文件isTester.ini赋予 读写权限
chmod a=rw isTester.ini
或chmod 666 isTester.ini
3) 给文件isTester.ini赋予 执行权限
chmod a=x isTester.ini
或chmod 111 isTester.ini
4) 给idoxu目录下所有文件和子目录添加执行权限(假定目录结果./idoxu/isTester/2020.ini)
chmod -R a+x idoxu/
注:chmod非常强大,只布置如上四个简单且高频的操作;但实现方式有多种,可以自己去试试。

总结:
1.查看文件权限情况:
ls -l | grep isTester.ini
ls -l | grep idoxu

2.chmod命令主要用于修改、设置文件权限
(1)字母法:chmod (u g o a) (+ - =) (r w x) (文件名)
chmod u+rwx, g+rw filename 说明对filename,赋予user用户read、write、excute权限;赋予group用户read、write权限
chmod a+rwx filename 说明对filename所有用户赋予read、write、excute权限。
(2)数字法:
用法:chmod + 数字组合 + 文件名
数字组合三个数字,分别对应user、group、other用户,权限r(4) w(2) x(1)
如chmod 777 filename, 是对所有用户赋予rwx权限
chmod 755 filename 是user用户有读、写、执行权限;而group和other只有读、执行权限。
(3)-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更
chmod –R 777 Test/ 说明对Test目录下所有文件及子目录设置了rwx的权限
chmod –R 755 Test/

wget命令

Linux系统中的wge是一个下载文件的工具,对于Linux用户是必不可不的工具
经常需要下载各中安装包、各种资源;
假设包地址:http://istester.com/file.php?f=202006/f_c88bd2fd…

1) 下载isTester包
wget http://istester.com/file.php?f=202006/f_c88bd2fd…
2) 下载isTester包,存储名为isTester666.tgz
wget -O isTester666.tgz http://istester.com/file.php?f=202006/f_c88bd2fd…
3) 下载isTester包,后台形式下载
wget -b http://istester.com/file.php?f=202006/f_c88bd2fd…

注:玩wget,需确保服务器能联网,ping istester.com试试,如果ping不通,先去把网络搞定。
总结:
wget是一个下载文件的工具
(1)使用wget下载单个文件
wget http://istester.com/file.php?f=202006/f_c88bd2fd…
(2)使用wget -O下载并以不同的文件名保存
wget -O isTester666.tgz http://istester.com/file.php?f=202006/f_c88bd2fd…
(3)使用wget -c断点续传
wget –c isTester666.tgz http://istester.com/file.php?f=202006/f_c88bd2fd…
(4)使用wget -b后台下载
wget -b http://istester.com/file.php?f=202006/f_c88bd2fd…

find命令

find命令,非常强大,也非常实用,分两次完成,今日第一次。
给大家布置的作业,是比较实用的几个场景。

1) 在/root/isTester 目录及其子目录下面查找名字为isTester.ini的文件
find /root /isTester -name isTester.ini
2) 在当前目录及其子目录中查找扩展名为“ini”的文件
find . -name “*.ini”
3) 在/root/isTester目录下查找更改时间在5日以内的文件
find /root /isTester -mtime -5
4) 在/root/isTester目录下查找更改时间在3日以前的文件
find /root /isTester -mtime +3
5) 在/root/isTester 目录下查找所有的目录
find /root /isTester -type d
6) 在/root/isTester 目录下查找所有的文件
find /root/isTester -type f

继续find
对于新人,有点难度,多试试。
假设当前目录是/usr/isTester
1) 在当前目录,所有的普通文件中搜索istester这个词
find ./ -type f | xargs grep “istester”
2) 在当前目录,移动1天以内的所有内容到~/idoxu 目录
find ./ -mtime -1 -print | xargs -p -i mv {} ~/idoxu (#-p会让你确认)

find ./ -mtime -1 -print | xargs -i mv {} ~/idoxu

3) 在当前目录,移动10天以前的所有内容到~/idoxu 目录
find ./ -mtime +10 -print | xargs -i mv {} ~/idoxu
4) 在/usr/isTester目录,移动文件大小为零的文件到~/idoxu目录下的 0size/文件夹
find usr/isTester -type f -size 0 | xargs -p -i mv {} ~/idoxu/0size
5) 在/usr/isTester目录,移动大于200M的文件到~/idoxu目录下的200size/文件夹
find usr/isTester -type f -size +200M | xargs -p -i mv {} ~/idoxu/200size

总结
find命令格式:
find path -option 【 -print 】 【 -exec -ok |xargs |grep 】 【 command {} ; 】
path:要查找的目录路径。
options :表示查找方式
options常用的有下选项:
-name filename #查找名为filename的文件
-perm #按执行权限来查找
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #查长度为n块[或n字节]的文件
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-prune #忽略某个目录

print:表示将结果输出到标准输出。
exec:对匹配的文件执行该参数所给出的shell命令。
形式为command {} ;,注意{}与;之间有空格
ok:与exec作用相同,区别在于,在执行命令之前,都会给出提示,让用户确认是否执行

xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。
find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
语法:xargs [-p t x ] [-e [EOFString]] [-E EOFString] [-i [ReplaceString] ] [-I ReplaceString | -L Number | -n Number] [ -l [ Number]] [-s Size] [Command [Argument … ]]
-p 操作具有可交互性,每次执行comand都交互式提示用户选择,当每次执行一个argument的时候询问一次用户
-i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给{},可以用{}代替。
xargs命令的详细介绍见搜索到的文章:
https://www.cnblogs.com/kongzhongqijing/articles/5251838.html
https://www.cnblogs.com/gezp/p/12787553.html

rm命令

rm是常用的命令,该命令的功能为删除目录/文件(可同时删除,多个文件/多个目录)
当然,这也是一个非常危险的命令,建议少用(比如经常出现的误操作)
1) 删除/root/isTester/目录下的文件isTester.ini (系统会询问是否删除)
rm /root/isTester/isTester.ini
2) 强行删除/root/isTester/目录下的文件isTester.ini(直接删除,系统不会提示)
rm –f /root/isTester/isTester.ini
3) 删除/root/isTester/目录下的所有.log文件
rm -f /root/isTester/*.log
4) 删除/root/isTester/目录下的 idoxu文件夹
rm -r /root/isTester/idoxu
5) 强行删除/root/isTester/目录下的 idoxu文件夹
rm -rf /root/isTester/idoxu
6)删除/root/isTester/目录下的所有内容
rm -rf /root/isTester/

总结:
rm命令用于删除一个文件或者目录
rm [options] name
 -i 删除前逐一询问确认。
 -f直接删除,无确认。
 -r 指示rm将参数中列出的全部目录和子目录均递归地删除

查看文件

命令参考:
#cat 由第一行开始显示档案内容
#tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写
#more 一页一页的显示档案内容,按空格键翻页
#less 与 more 类似,但是比 more 更好的是,他可以往前翻页。按空格键翻页, [pageup] [pagedown]上下翻。
#head 只看头几行 head –n filename
#tail 只看尾巴几行 tail –n filename
#nl 显示的时候,顺道输出行号 nl filename

注:操作如上之前,可以先往isTester.ini插入几百行内容,执行命令 ls /bin/ > isTester.ini

1) 查看文件 isTester.ini的内容
cat isTester.ini
2) 看文件 isTester.ini前20行内容
head -n 20 isTester.ini
3)看文件 isTester.ini最后30行内容
tail -n 30 isTester.ini
4)显示文件isTester.ini 的第10至20行的内容
head -n 20 isTester.ini | tail -n 10
5)倒序显示文件isTester.ini 前10行的内容
tac isTester.ini | head -n 10
6)显示文件isTester.ini 前10行的内容,并显示行号
nl isTester.ini | head -n 10

yum & scp 跨服务器文件传输

命令yum & scp( 跨服务器文件传输,假设有两台服务器:192.168.1.21和192.168.1.22)
1) Linux下安装scp命令(假设是centos服务器,命令用yum ; 如果是ubuntu等,命令自己去查 )
yum install -y openssh-clients
2) 从Linux服务器192.168.1.22 拷贝文件 isTester.ini 到你当前操作的服务器(假设当前服务器 192.168.1.21 )
scp root@192.168.1.22:/root/idoxu/isTester.ini /root/idoxu
3) 从Linux服务器192.168.1.22 拷贝目录 isTester/ 到你当前操作的服务器(假设当前服务器 192.168.1.21 )
scp –r root@192.168.1.22:/root/idoxu/isTester.ini /root/idoxu

延伸思考:如果是把「当前操作的服务器」的文件拷贝到远程服务器呢 ?
scp /root/idoxu/isTester.ini root@192.168.1.22:/root/idoxu/

scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。
格式:
scp 远程用户名@IP地址:文件的绝对路径 本地Linux系统路径
scp 本地Linux系统文件路径 远程用户名@IP地址:远程系统文件绝对路径名
scp –r –r参数是拷贝目录,同cp的-r

clear/df/du/ifconfig命令:

clear
df / du
ifconfig
1) 查看当前服务器内网IP
ifconfig
2) 查看当前服务器外网IP
curl cip.cc
3) 查看当前服务器硬盘空间
df -h
4) 查看目录isTester/ 所占用的空间
du -sh isTester
5) 清空当前终端屏幕
clear
6) 查看你的Linux服务器的版本号
lsb_release -a
(需要先安装lsb: yum install -y redhat-lsb)

总结
df:列出文件系统的整体磁盘使用量;
du:评估文件系统的磁盘使用量(常用于评估目录所占容量)
df参数:
-a:列出所有的文件系统,包括系统特有的/proc等文件系统
-h:以人们较易阅读的GB,MB,KB等格式自行显示
du参数:
-a : 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已;
-h : 以人们较易读的容量格式(G/M)显示;
-s : 列出总量,而不列出每个个别的目录占用了容量;

命令 vi + chmod

用vi 创建文件 + 编辑文件 。
chmod命令用于改变linux系统文件或目录的访问权限 。

1) vi创建文件 isTester666.ini
vi isTester666.ini
2) vi更新文件内容为“21 day Linux Learn ,I’m Idolaoxu,in shenzhen .”
输入i进入编辑模式,输入内容,esc进入命令模式 :wq保存。
3) 将文件 isTester666.ini 设为所有人皆可读取
chmod a+r isTester666.ini
4) 将isTester666.ini 设定为只有该文件拥有者可以执行
chmod a-x,u+x isTester666.ini
5) 给文件 isTester666.ini 设置所有权限
chmod 777 isTester.ini
或chmod a=rwx isTester666.ini
6) 将文件 isTester666.ini 设为所有人,只读权限
chmod a=r isTester666.ini
或chmod 444 isTester666.ini
(注:chmod还有很多命令用法,如下几种,满足日常需求 。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值