Linux常用命令
执行.sh脚本:在任意路径下,sh 加上文件路径及文件名称:
sh /root/datelog.sh
pwd 命令,是 Print Working Directory (打印工作目录)的缩写
命令 yum,安装命令
例子:yum -y install tree
命令:tree,查看目录,文件夹结构
例子:tree 文件夹
命令 touch 创建文件
cat 命令,用于连接文件并打印显示。cat主要有三大功能:
1.一次显示整个文件。
$ cat filename
2.从键盘创建一个文件。
$ cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件。
$cat file1 file2 > file
文件读写权限/所有权问题:https://www.cnblogs.com/sxdcgaq8080/p/7498906.html
命令 grep:grep 只支持匹配而不能替换匹配到
详细解释:https://www.cnblogs.com/sparkdev/p/11294517.html
/
命令 cd
如何进入上级目录
cd ..如何进入当前用户主目录
cd ~如何进入上两级目录
cd ../..进入当前目录命令
cd .如何进入目录 /usr/isTester
cd /usr/isTester
/
命令 mv
参数说明:
-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
-f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;
例子:用于改名:mv aaa bbb
将/usr/student下的所有文件和目录移到当前目录下,命令行为:
$ mv /usr/student/* .
移动一个文件夹(isTester文件夹,移动到/APP/www目录)
mv ~/isTester/ /APP/www移动一个文件(isTester.ini 移动到/APP/www目录)
mv isTester.ini /APP/www当前目录istester.tar.gz 移动到 /usr/ido 目录,并重命名为istester1228.tar.gz
mv isTester.tar.gz /usr/ido/ido.tar.gz移动文件到上级目录
mv isTester.tar.gz ../一条命令,移动两个文件 isTester.tar idoxu.tar 到目录 /APP/www
mv isTester.tar idoxu.tar -t /APP/www
/
命令 cp
参数说明:-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
复制当前目录部署包isTester.tar.gz 到备份目录/APP/www/bak 目录
cp isTester.tar.gz /APP/www/bak复制文件夹 isTester 到部署目录 /APP/www
cp -r isTester/ /APP/www
补充:https://www.cnblogs.com/uncle-qi/p/9359741.html
cp同时拷贝多个文件:
方法一:使用cp命令
cp /home/usr/dir/{file1,file2,file3,file4} /home/usr/destination/
需要注意的是这几个文件之间不要有空格
具有共同前缀
cp /home/usr/dir/file{1..4} ./
复制的文件是file1, file2, file3, file4
方法二
拷贝当前文件夹下以.py结尾的文件到test2文件夹下
cp *.py ~/test2/
/
命令 mkdir
参数说明:-p 确保目录名称存在,不存在的就建一个。
在目录/APP/www 下,
cd /APP/www
新建一个文件夹 isTester
mkdir isTester新建三个文件夹 isTester1 isTester2 isTester3
mkdir isTester1 isTester2 isTester3新建一个多层级文件夹 idoxu/20181230/01
mkdir -p idoxu/20181230/01
补充:在BBB目录中,建立一个名为 Test 的子目录。 若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。)
mkdir -p BBB/Test
/
命令 history
查看历史命令执行记录
history查看命令mkdir 的历史执行记录
history | grep mkdir执行历史记录中,序号为178的命令
!178
/
命令 tail(n.尾巴 v.跟踪)
参数:-f 循环读取
例子:tail notes.log,此命令显示 notes.log 文件的最后 10 行。
要跟踪名为 notes.log 的文件的增长情况,请输入以下命令:tail -f notes.log。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。显示一直继续,直到您按下(Ctrl-C)组合键停止显示。
举例:
实时刷新log
tail -f isTester.log实时刷新最新500条log
tail -500f isTester.log
/
命令 tar,(-c只是打包,-zc才是打包后压缩)
参数说明:1.必选其中之一参数(而且一次只能使用其中一个,不能同时使用多个)
-c:建立一个打包文件的参数指令(create 创建,备份的意思);
-x:解开一个压缩文件的参数指令!
-t:查看 tarfile 里面的文件!
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
特别注意,在参数的下达中, c/x/t/r/u 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
可选参数
-z:有gzip属性,即需要用 gzip 压缩
-j:有bz2属性,即需要用 bzip2 压缩
-Z:有compress属性的
-v :压缩的过程中显示文件(显示所有过程)!这个常用,但不建议用在背景执行过程!
-O:将文件解开到标准输出
-f :使用档名,请留意,在 f 之后要立即接档名!不要再加参数!例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
举例:
- 打包一个文件 isTester.ini 为 isTester.tar
tar -cvf isTester.tar isTester.ini
加上 z 才是压缩:
压缩为 isTester.tar.gz 用 tar -zcvf isTester.tar isTester.ini
- 打包多个文件 isTester.ini readme.ini
tar -cvf all.tar isTester.ini readme.ini
打包文件夹 isTester/
tar -cvf isTester.tar isTester/
将当前目录,所有jpg文件打包成isTesterjpg.tar
tar -cvf isTesterjpg.tar *.jpg
- 将当前目录,所有jpg文件压缩成isTesterjpg.tar.gz
tar -zcvf isTesterjpg.tar.gz *.jpg
- 解开包到当前文件夹下 isTesterjpg.tar
tar -xvf isTesterjpg.tar
- 解压到当前文件夹下 isTesterjpg.tar.gz
tar -zxvf isTesterjpg.tar.gz
补充:tar中的参数 cvf,xvf,cvzf,zxvf的区别
tar cvf etcbak.tar etc/ 打包一个tar
tar xvf etcbak.tar 解开一个tar
tar cvzf etcbak.tar.gz etc/ 打包压缩一个 tar
tar zxvf etcbak.tar.gz 解压一个tar
1 将tgz文件解压到指定目录
tar zxvf test.tgz -C 指定目录
比如将/source/kernel.tgz解压到 /source/linux-2.6.29 目录
tar zxvf /source/kernel.tgz -C /source/ linux-2.6.29
2 将指定目录压缩到指定文件
比如将linux-2.6.29 目录压缩到 kernel.tgz
tar czvf kernel.tgz linux-2.6.29
/
命令 ls
列出当前目录中所有的子目录和文件。
ls列出目录下的所有文件(包含隐**件)
ls -a列出文件的详细信息(包括权限、所有者、文件大小等)
ls -l列出当前目录中所有以“isTester”开头的详细内容
ls -l isTester*
/
命令 ps
查看所有进程
ps -A查看java进程
ps -ef | grep java
显示所有进程信息,连同命令行
ps -ef
详细解释:https://www.cnblogs.com/moonbaby/p/10528443.html
/
命令 top
显示进程信息
top监控每个逻辑CPU的状况
top ,按 1高亮显示当前运行进程
top ,按 b显示 完整命令
top ,按 c退出top程序
按 q
/
命令wget
Linux系统中的wget是一个下载文件的工具,对于Linux用户是必不可少的工具
文件地址
http://51.istester.com/isTester.png
下载isTester.jpg文件
wget http://51.istester.com/isTester.png下载isTester.jpg文件,并存储名为isTester_Logo.jpg
wget -o isTester_Logo.jpg
http://51.istester.com/isTester.png下载isTester.jpg文件,后台形式下载
wget -b http://51.istester.com/isTester.png
/
命令 find
find命令,非常强大,也非常实用,分两次完成,今日第一次 。
给大家布置的作业,是比较实用的几个场景 。
在/root/isTester 目录及其子目录下面查找名字为isTester.ini的文件
find /root/isTester/ -name isTester.ini在当前目录及其子目录中查找任何扩展名为“ini”的文件
find . -name "*.ini"在/root/isTester目录下查找更改时间在5日以内的文件
find /root/isTester/ -mtime +5在/root/isTester目录下查找更改时间在3日以前的文件
find /root/isTester/ -mtime -3在/root/isTester目录下查找所有的目录
find . -type d在/root/isTester目录下查找所有的文件
find /root/isTester/ -type f
/
命令 继续find(进阶)
find命令,非常强大,也非常实用,分两次完成,今日第一次 。
给大家布置的作业,是比较实用的几个场景 。
在当前目录,所有的普通文件中搜索istester这个词
find ./ -type f |xargs grep "istester"在当前目录,删除1天以内的所有东西
find ./ -mtime -1 -print | xargs rm -rf在当前目录,删除10天以前的所有东西(实操的时候,需谨慎,确保在自己建的目录内,别把系统目录删了…)
find ./ -mtime +10 -print | xargs rm -rf删除文件大小为零的文件
find ./ -size 0 | xargs rm -rf
/
命令 rm
rm是常用的命令,该命令的功能为删除目录/文件(可同时删除,多个文件 / 多个目录)
当然,这也是一个非常危险的命令,建议少用(比如经常出现的误操作 rm * -rf 此命令慎用)
删除/root/isTester/目录下的文件isTester.ini (系统会询问是否删除)
rm /root/isTester/isTester.ini强行删除/root/isTester/目录下的文件isTester.ini(直接删除,系统不会提示)
rm -f /root/isTester/isTester.ini删除/root/isTester/目录下的所有.log文件
rm -f /root/isTester/*.log删除/root/isTester/目录下的 ido/文件夹
rm -r /root/isTester/ido/强行删除/root/isTester/目录下的 ido/文件夹
rm -rf /root/isTester/ido/删除/root/isTester/目录下的所有内容
rm -rf /root/isTester/*
/
文件操作系列 命令
创建文件,你知道有哪几个命令 ?(写出至少两种方式)
1) touch isTester.ini
2) vi isTester.md
3) echo ‘only test’ > isTester.com
4) cp isTester.ini isTester666.ini
5) ls > fileList.txt同时创建文件 isTester6.ini idoxu.ini
touch isTester6.ini idoxu.ini同时创建2000个文件 isTester0001.ini - isTester2000.ini
touch istester{0001..2000}.ini更改文件 isTester.ini时间为当前时间
touch isTester.ini
/
查看文件系列 命令
Linux有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用命令。 more #可以分页查看
$ less #使用光标向上或向下移动一行
/**
命令提示
#cat 由第一行开始显示档案内容
#tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
#more 一页一页的显示档案内容
#less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
#head 只看头几行
#tail 只看尾巴几行
#nl 显示的时候,顺道输出 行号!
**/
查看文件 isTester.ini的内容
cat isTester.ini看文件 isTester.ini前20行内容
head -n 20 isTester.ini看文件 isTester.ini最后30行内容
tail -n 30 isTester.ini显示文件isTester.ini 的第10至20行的内容
head -n 20 isTester.ini | tail -n 10倒序显示文件isTester.ini 前10行的内容
tac isTester.ini | head -n 10显示文件isTester.ini 前10行的内容,并显示行号
nl isTester.ini | head -n 10
/
命令 yum & scp
假设 当前服务器ip 192.168.1.23
从Linux服务器192.168.1.22 拷贝文件isTester.ini 到服务器192.168.1.23
scp root@192.168.1.22:/root/idoxu/isTester.ini /root/idoxu从Linux服务器192.168.1.22 拷贝目录 isTester/ 到服务器192.168.1.23
scp -r root@192.168.1.22:/root/idoxu/isTester/ /root/idoxuLinux下安装scp命令(假设是centos服务器,命令用yum)
yum install openssh-clients
/
命令
clear
df
du
ifconfig
查看当前服务器ip
ifconfig查看当前服务器硬盘空间
df -h查看目录isTester/ 所占有的空间
du -sh isTester清空当前终端屏幕
clear
/
命令 vi + chmod
/**
vi 创建文件 + 编辑文件 。
chmod命令用于改变linux系统文件或目录的访问权限 。
**/
创建文件 isTester.ini
vi isTester.ini更新文件内容为“21 day Linux Learn ,I'm Idolaoxu,in shenzhen .
”
输入 i ,进入编辑模式,输入内容,esc进入命令模式 :wq 保存 。将文件 isTester.ini 设为所有人皆可读取
chmod +r isTester.ini将 isTester.ini 设定为只有该文件拥有者可以执行
chmod u+x isTester.ini给文件 isTester.ini 设置所有权限
chmod 777 isTester.ini (或者 chmod a=rwx isTester.ini)
详细解释:
文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,
命令为:
方法1:chmod a+x, g+w exer1
方法2:chmod 775 exer1
chmod 命令用来修改文件权限
- 用数字来设定权限
r : 4、w : 2、x : 1
4 = 100 2 = 010 1 = 001
实际上是按二进制取1的位来设置的权限
chmod 777 test.txt
7 = 111, 给test拥有者、所属群组、其他人所有权限
- 用符号设定权限
chmod [ugoa] [+-=] [rwx] dirname/filename
u:拥有者
g:所属群组
o:其他人
a:所有人
+:添加权限
-:移除权限
=:设定权限
为 test.txt 文件的所有用户添加读权限。
chmod a+r test.txt
详细补充:https://www.cnblogs.com/sxdcgaq8080/p/7498906.html
/
End ,命令,这些差不多够用了 。
如果遇到一些非高频的命令,自行百度/Google搞定即可 。
入了门,对Linux有感觉了,甚至是有兴趣了,其他命令,都没啥问题 ,看下帮助文档即可 。
比如,想了解 top命令咋用 ?
终端输入 top --help 即可
/