linux命令的基本组成
#命令 【-选项】 【参数】
command 【-options】 【parameter】
查阅命令帮助信息
command --help
相对路径与绝对路径
./或../开头的均为相对路径(.代表当前路径下,..代表上级目录)【相对路径的./可省略】
/或~开头的均为绝对路径
linux常用命令详解和用法:
1、reboot 命令用于重启当前系统;poweroff /shutdown命令用于关闭当前系统(有管理权限才能使用)
2、ls 命令用于查看当前目录下包含的文件;
ls -a #展示文件(包含隐藏文件)
ls -al #展示文件及详细信息(包含隐藏文件)
ls -l #展示文件及详细信息,也写做'll'
ls -al / #根目录下所有文件的详细信息(包含隐藏文件)
3、cd 切换命令用于切换当前目录至dirName;
cd adir
上面写法与cd ./adir 效果相同
cd=cd ~
回到当前用户主目录
cd ..
回到上级目录
cd -
回到上次所在目录
cd
4、pwd 命令用于查看当前工作目录路径;(第一个/表示根目录)
5、mkdir 命令用于创建文件夹(所以参数是路径)等等。
创建一个文件夹(当前路径下)
mkdir adir #创建了adir文件夹
创建多个文件夹(当前路径下)
mkdir bdir cdir #创建了bdir和cdir文件夹
6.touch 命令用于修改文件(所以参数是文件名)修改时间,若文件不存在,则新建
touch aa #创建文件aa
touch file #创建文件file
touch ll kk #创建多个文件
#mv有移动文件/目录进入文件夹/目录的作用,当后者文件夹/目录不存在,或不是文件夹时,则改名文件/目录。
mv file cc #由于cc非文件夹或目录,file文件改名为cc
7.cp 命令用于复制【假设cc文件和后面的目的路径(文件夹)已存在】
cp cc adir/(文件夹adir后的/可不写) #把cc文件复制到adir文件夹中
cp -i cc adir #提示覆盖
cp -r bdir/ cdir/ #把bdir文件夹复制到cdir文件夹(若要提示覆盖,可用 cp -ir命令 或者 cp -ri命令)
mv cc ./cdir/bdir/ #把cc剪切到bdir文件夹中
8.rm 命令用于删除,一般不直接用(配合选项一块用,即-i,以交互方式执行)【假设cc文件已存在且aa文件存在于adir文件夹中】
rm -i cc #回车y,删除cc文件
rm -i adir/ #报错,无法删除目录adir/
rm -ir adir/ #是否进入目录“adir/”? y 是否删除普通空文件“adir/aa”? y 是否删除目录“adir/”? y 最终删除成功
rm -rf * #删除当前目录下所有文件和文件夹
rm aa #无法删除aa,因为不存在
rm -f aa #删除的文件即使不存在也不会提示信息(强制删除)
rm -rf /* #删除根目录下所有文件(删库跑路,核弹命令)
9.clear 命令清除当前屏幕终端上的任何信息
10.> (重定向符号)命令将展示在终端的信息存放到文件中
ls -al / > demo #将根目录下所有文件的详细信息输出到demo文件中(包含隐藏文件)
11.cat 命令用于查看文件内容【基于10生成的demo文件】
cat demo #展示demo文件中的内容
ls > demo #demo文件内容会被覆盖
ls -al / >> demo #>>表示追加,这样demo文件的内容就增加了,而不是被覆盖
cat /proc/version #查看当前系统内核版本信息
cat /etc/redhat-release #查看当前系统发行版本信息
12.less和more 命令用于分屏查看文件内容,多用于查看内容较多的文件信息(若内容很少,则无法分屏显示)
#向下翻页 空格键,向上翻页 B,退出查看 Q
less demo #分屏查看demo文件
less -N demo #分屏查看demo文件,显示行号
more demo #分屏查看demo文件,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览
13.grep 命令根据关键词,查找信息;| (管道符) 允许将一个命令的输出作为另一个命令的输入
ls -al > demo
grep mysql demo #在demo中找含mysql的信息
ls -al | grep mysql # 这个写法的显示结果等同于上面两句,在当前目录下所有文件的信息中查找包含mysql的信息,通过管道,减少了存文件的步骤
14.head,tail 命令展示文件内的前,后行的信息;多用于查看日志文件时使用
ls -al / > demo #将根目录下所有文件的详细信息输出到demo文件中(包含隐藏文件)
head -3 demo #查看demo文件前三行内容
tail -3 demo #查看demo文件后三行内容
ping 127.0.0.1 >> ping_log #将 ping 127.0.0.1 的信息输出到 ping_log 文件中
tail -f ping_log #tail-f 动态查看 ping_log 文件中的信息
tail -5f ping_log #tail-f 动态查看 ping_log 文件中的信息,刚开始展示5行,刷新是一条条刷新。查错时可以利用这种方法找想要的报错信息。
head -15 demo | tail -5 #查看demo文件中11-15行的信息
15.ps/kill/top 命令用于进程的相关操作
ps -aux #查看进程信息
ps -aux | grep 程序名(部分或全部,例如mysql,可写mys也可写全) #查找某程序的进程id:a
kill a #终止进程id为a的进程
kill -9 a #强制终止进程id为a的进程
top #打开当前系统的‘任务管理器’(动态查看进程信息)
16.netstat 命令显示各种网络相关信息
netstat -anptu #查看当前系统中开放的端口有哪些
netstat -anptu | grep 3306 #查看哪个程序正在使用3306端口(需要root用户权限)
17.lsof 命令可用于查看系统中正在使用端口的详细信息
lsof -i:3306 #查看哪个程序正在使用3306端口(需要root用户权限)
18.which 命令查找程序位置
which 程序名 #查找程序位置
19.切换用户的操作
su - #普通用户切换到root用户
su - admin #切换到admin用户
20.who 命令
whoami #查看当前用户是谁
who -q #查看当前系统中所有登录用户的信息(连接了几个显示几个,系统启动,终端开启,远程连接都分别算一次)
21.exit 命令有退出的作用
22.passwd 命令用于让用户可以更改自己的密码
23.chmod 命令用于修改文件的读、写、执行权限
#必须明确文件权限的含义(读懂);尽量注意不要随意赋予文件最高权限
touch cm_demo
ll #ll=ls -l
chmod u=r,g=w,o=x cm_demo #使用字母法将文件权限修改为:拥有者:可读/用户组:可写/其他用户:可执行
chmod 763 cm_demo #使用数字法将文件权限修改为:拥有者:可读可写可执行/用户组:可读可写/其他用户:可写可执行
rwx7
24.find 命令用来查找文件
find /home/admin/ -name *mo #从/root 目录中查找f_demo 文件[已在admin/adir目录下创建文件f_demo]
25.ln链接
ln -s #软连接(类似windows里的快捷方式,删除原文件,链接失效),不加-s,则为硬链接(类似复制文件)
26.tar压缩解压
tar -cvf 打包文件.tar 被打包的文件的路径 #打包文件
tar -xvf 打包文件.tar #解包文件
tar -zcvf 打包文件.tar.gz 被压缩的文件的路径 #压缩文件
tar -zxvf 打包文件.tar.gz #解压缩文件
tar -zxvf 打包文件.tar.gz -C 目标路径 #解压缩文件到指定路径
zip -r 打包文件 被压缩的文件的路径 #压缩文件
unzip -d 目标路径 打包文件.zip #解压缩文件到指定路径,-d用来指定存放路径;不指定存放路径的话,写作 unzip 打包文件.zip
1.mkdir atdir btdir
2.cd atdir/
touch aa bb cc
3.cd -
tar -zcvf atdir.tar.gz atdir/
zip -r atdir atdir/
4.tar -zxvf atdir.tar.gz -C btdir/
unzip -d btdir/ atdir.zip
27.vi 命令用来编辑文本
vi demo #新建一个demo文件,进入命令模式
i #进入输入模式,屏幕会显示‘--插入--’
esc #进入命令模式
: #进入末行模式
esc #返回命令模式
wq #退出
练习题
1.在路径下创建adir,bdir 两个文件夹
mkdir adir/,bdir/
2.在adir目录下创建文件f_demo
mv f_demo ./adir/ mv是移动文件到目的路径
touch adir/f_demo
3.切换路径到bdir目录下
cd bdir/
4.从/root 目录中查找f_demo 文件
which f_demo which 找的是程序
find /home/admin/ -name *mo