【开篇】21个必备的Linux命令
【1】命令:cd
作用:切换目录
1. 如何进入上级目录cd ..
2. 如何进入当前用户主目录cd ~
3. 如何进入上两级目录cd ../..
4. 进入当前目录命令cd .
5. 如何进入目录 /usr/isTestercd /usr/isTester
【2】命令:ls
作用:列出目录下的子目录和文件,或其详细信息
1. 列出当前目录中所有的子目录和文件ls
2. 列出目录下的所有文件(包含隐性文件)ls -a
3. 列出文件的详细信息(包括权限、所有者、文件大小等)ls -l
或者:
ll
4. 列出当前目录中所有以 “isTester” 开头的详细内容ls -l isTester*
或者:
ll isTester*
【3】命令:mv
作用:移动文件夹或者文件
1. 移动一个文件夹(isTester 文件夹,移动到 /APP/www 目录)mv isTester /APP/www
2. 移动一个文件(isTester.ini 移动到 /APP/www 目录)mv isTester.ini /APP/www
3. 当前目录 isTester.tar.gz 移动到 /usr/ido 目录,并重命名为 ido.tar.gzmv isTester.tar.gz /usr/ido/ido.tar.gz
4. 移动文件到上级目录mv isTester.ini ..
5. 一条命令,移动两个文件 isTester.tar 和 idoxu.tar 到目录 /APP/wwwmv isTester.tar idoxu.tar -t /APP/www
【4】命令:cp
作用:复制文件夹或者文件
1. 复制当前目录部署包 isTester.tar.gz 到备份目录 /APP/www/bak 目录cp isTester.tar.gz /APP/www/bak
2. 复制文件夹 isTester 到部署目录 /APP/wwwcp -r isTester /APP/www
【5】命令:mkdir
作用:新建文件夹
在目录 /APP/www 下:
1. 新建一个文件夹 isTestermkdir isTester
2. 新建三个文件夹 isTester1 isTester2 isTester3mkdir isTester1 isTester2 isTester3
3. 新建一个多层级文件夹 idoxu/20181230/01mkdir -p idoxu/20181230/01
【6】命令:history
作用:查看历史命令执行记录
1. 查看历史命令执行记录history
2. 查看命令mkdir 的历史执行记录history | grep mkdir
3. 执行历史记录中,序号为178的命令!178
【7】命令:tail
作用:刷新log
1. 实时刷新 logtail -f isTester.log
2. 实时刷新最新500条 logtail -500f isTester.log
【8】命令:tar
作用:压缩或解压
1. 压缩一个文件 isTester.initar -cvf isTester.tar isTester.ini
2. 压缩多个文件 isTester.ini readme.initar -cvf all.tar isTester.ini readme.ini
3. 压缩文件夹 isTestertar -cvf isTester.tar isTester
4. 将当前目录,所有 jpg 文件打包成 isTesterjpg.tartar -cvf isTesterjpg.tar *.jpg
5. 将当前目录,所有 jpg 文件压缩成 isTesterjpg.tar.gztar -zcvf isTesterjpg.tar.gz *.jpg
6. 解压 isTesterjpg.tartar -xvf isTesterjpg.tar
7. 解压 isTesterjpg.tar.gztar -zxvf isTesterjpg.tar.gz
【9】命令:ps
作用:查看进程
1. 查看所有进程ps -A
2. 查看 java 进程ps -ef | grep java
3. 显示所有进程信息,连同命令行ps -ef
【10】命令:top
作用:显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
1. 显示进程信息top
2. 监控每个逻辑 CPU 的状况top ,按 1
3. 高亮显示当前运行进程top ,按 b
4. 显示完整命令top ,按 c
5. 退出 top 程序按 q
【11】命令:wget
作用:下载文件
文件地址:http://51.istester.com/isTester.png
1. 下载 isTester.png 文件wget http://51.istester.com/isTester.png
2. 后台形式下载 isTester.png 文件wget -b http://51.istester.com/isTester.png
3. 下载 isTester.png 文件,并存储名为 isTester_Logo.pngwget -o isTester_Logo.png http://51.istester.com/isTester.png
【12】命令:rm
作用:删除文件/文件夹
建议:这是一个非常危险的命令,建议少用。比如经常出现的误操作 rm * -rf,此命令慎用。
文件一旦通过 rm 命令删除,则无法恢复,所以必须格外小心地使用该命令。
1. 删除 /root/isTester 目录下的文件 isTester.ini (系统会询问是否删除)rm -i /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 目录下的 ido 文件夹rm -ri /root/isTester/ido
5. 强行删除 /root/isTester 目录下的 ido 文件夹rm -rf /root/isTester/ido
6. 强行删除 /root/isTester 目录下的所有内容rm -rf /root/isTester/*
【13】命令: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. 在当前目录及其子目录下查找所有的目录find . -type d
6. 在 /root/isTester 目录下查找所有的文件find /root/isTester -type f
7. 在当前目录,所有的普通文件中搜索 istester 这个词find . -type f | xargs grep "istester"
※ 注意:实操时需谨慎,确保在自己建的目录内,别把系统目录删掉了
8. 在当前目录,删除1天以内的所有东西find . -mtime -1 -print | xargs rm
9. 在当前目录,删除10天以前的所有东西find . -mtime +10 -print | xargs rm
10. 在当前目录,删除文件大小为零的文件find . -size 0 | xargs rm
11.在 /root/isTester 目录下查找大于1G的文件,并删除find /root/isTester -type f -size +1G | xargs rm
---- 温馨提示 ----
执行 “查找并删除” 的时候,最好分两步走,这样会安全点:
(1)先查找出大于1G的文件:find /root/isTester -type f -size +1G
(2)再看下有多少满足条件的文件,然后再删除:rm XXX
【15】文件操作命令
作用:文件操作命令是指文件系统提供给用户的一系列操作使用命令,包括查询、创建等操作
1. 创建文件,你知道有哪几个命令 ?(写出至少两种方式)touch isTester1.ini
vi isTester2.ini
cp isTester1.ini isTester3.ini
echo "only test" > isTester4.ini
ls > isTester5.ini
2. 同时创建文件 isTester6.ini 和 idoxu.initouch isTester6.ini idoxu.ini
3. 同时创建2000个文件 isTester0001.ini ~ isTester2000.initouch isTester{0001..2000}.ini
4. 更改文件 isTester.ini 时间为当前时间touch isTester.ini
【16】查看文件命令
cat 从第一行开始显示档案内容
tac 从最后一行开始显示档案内容(即:倒序显示),可以看出tac是cat的倒着写!
more 一页一页的显示档案内容
less 与 more 类似,但是比 more 更好的是,它可以往前翻页!
head 只看前几行
tail 只看最后几行
nl 显示的时候,顺道输出 行号(即每行的排序号)
1. 查看文件 isTester.ini 的内容cat isTester.ini
2.倒序显示文件 isTester.ini 的内容tac isTester.ini
3. 查看文件 isTester.ini 前20行内容head -n 20 isTester.ini
4. 查看文件 isTester.ini 最后30行内容tail -n 30 isTester.ini
5. 显示文件 isTester.ini 的第10至20行的内容head -n 20 isTester.ini | tail -n 10
6. 倒序显示文件 isTester.ini 前10行的内容tac isTester.ini | head -n 10
7. 显示文件 isTester.ini 前10行的内容,并显示行号nl isTester.ini | head -n 10
【17】命令:scp、yum
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
scp是secure copy的缩写,是Linux系统下基于ssh登录进行安全的远程文件拷贝命令。scp命令用于Linux之间复制文件和目录。
假设当前服务器 ip 为: 192.168.1.23
isTester.ini 和 isTester 的绝对路径分别为:/root/idoxu/isTester.ini 、/root/idoxu/isTester
拷贝到服务器192.168.1.23 的目录为:/root/idoxu
1. 从Linux服务器192.168.1.22 拷贝文件 isTester.ini 到服务器192.168.1.23scp root@192.168.1.22:/ root/idoxu/isTester.ini /root/idoxu
2. 从Linux服务器192.168.1.22 拷贝目录 isTester 到服务器192.168.1.23scp -r root@192.168.1.22:/ root/idoxu/isTester /root/idoxu
3. Linux下安装 scp 命令(假设是centos服务器,命令用yum)yum install openssh-clients
【18】命令:clear 、ifconfig、df、du
clear 命令用于清除屏幕;
ifconfig 命令用于显示或设置网络设备;
df 命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计;
du 命令用于显示目录或文件的大小,显示指定的目录或文件所占用的磁盘空间。
1. 清空当前终端屏幕clear
2. 查看当前服务器ipifconfig
3. 查看当前服务器硬盘空间df -h
4. 查看目录 isTester 所占有的空间du -sh isTester
【19】命令:vi、chmod
vi命令用于创建文件或者编辑文件。
chmod命令用于改变Linux系统文件或目录的访问权限。
1. 创建文件 isTester.inivi isTester.ini
2. 更新文件内容为 “21 day Linux Learn”vi isTester.ini,输入i进入编辑模式,输入内容,按Esc进入命令模式,输入:wq保存文件
3. 将文件 isTester.ini 设为所有人皆可读取chmod a+r isTester.ini
或:chmod ugo+r isTester.ini
4. 将 isTester.ini 设定为只有该文件拥有者可以执行chmod u+x isTester.ini
5. 给文件 isTester.ini 设置所有权限chmod 777 isTester.ini
或:chmod ugo=rwx isTester.ini
或:chmod a=rwx isTester.ini
【20】命令:rz、sz
作用:往服务器上传/下载各种安装包
1、安装 sz/rzyum install lrzsz
2、从Windows上传文件到Linux服务器rz ,会弹出文件选择框,选择需要上传的文件即可
3、从Linux服务器下载文件 isTester.png 到Windowssz isTester.png
【21】命令:date
作用:用来显示或设定系统的日期与时间
1. 查看当前日期date
2.手动设置系统日期date -s 2019-07-29
3.手动设置系统时间date -s 15:09
4.格式化查看系统日期(例如输出:2019-07-09)date +%F
5.格式化查看系统时间(例如输出:14:09:31)date +%T
---- 后记 ----
- End -
若有错误,请随时指正。也欢迎大家一起讨论,让我们野蛮成长!