Linux常用命令笔记
基本日常命令
init 3 (进入命令行页面)
steup (设置网络)
exit (退出用户)
pwd(查看当前所在目录)
date(查看当前系统时间)
举例:(date +%Y-%m-%d)以年月日的格式显示当前系统时间;(date -s "2018-02-28" 18:20)将时间修改为此时间;
(date +%Y-%m-%d --date ="-1 day")当前日期-1天;(date +%Y-%m-%d --date ="+2 month")当前日期+2月;(date +%Y-%m-%d --date ="+3 year")当前日期+3年。
(kwclock -w)修改时间后需要写入硬件bios才能在重启之后依然生效,否则重启后失效,故需要追加此命令。
who (查看当前在线用户)
last (查看最近登录历史)
举例:(last -3)查看最近三个登录历史。
shutdown(关机)halt(立即关机)备注:关机必须用root用户
shutdown -h now(立即关机);shutdown -h +10(10分钟后关机);shutdown -h 12:00:00(12点关机);shutdown -r now(立即重启)。
clear 或快捷键ctrl+l(清屏)ctrl+c或q(退出当前进程);ctrl+z(挂起进程到后台,相当于最小化);history(显示命令历史)
bg 进程名(让进程在后台继续执行);fg 进程名(让进程回到前台)。
echo (打印)
举例:(echo aaa)打印aaa到控制台;(a=123)(echo $a)将a变量中存储的124打印到控制台。
目录操作
ls (查看目录信息)
举例:(ls /)查看根目录下文件夹和文件信息;(ls .)查看当前目录下文件夹和文件信息;(ls ..)查看上一级目录下文件夹和文件信息;
(ls -al)a是显示隐藏文件,l是以更详细的列表显示;(ls -l或ll)以更详细的列表显示当前目录下的文件夹和文件信息。
cd (切换工作目录)
举例:(cd /)到根目录;(cd /home/wxy)到wxy用户目录;(cd ~ 或cd)切换到用户主目录;(cd -)回退到上次所在目录
mkdir (创建文件夹)
举例:(mkdir tools)在当前目录下创建tools文件夹;(mkdir -p aaa/bbb/ccc)级联创建目录,创建aaa并在aaa中创建bbb,创建bbb,并在bbb中创建ccc;(mkdir -m 777 test)创建test并对其设置权限777
rmdir (删除文件夹)
举例:(rmdir tools)可以删除空目录;(rm -r tools)删除tools整个文件夹下的内容,需要确认;(rm -rf tools)强制删除tools,不需要确认。
mv (修改文件夹)mv本质上是移动,如果选定文件名在当前目录下没有,则为修改,如果有则是移动。
举例:(mv wxy xiyang)将文件夹wxy改为xiyang;(mv xiyang wxy)将当前目录下的xiyang移动到wxy中;(mv xiyang wxy /xiaobai)移动并改名为xiaobai。
rename (批量修改文件名)
举例:(rename .txt .docx *)将当前目录下所有txt文件全部改为docx文件。
文件操作
1.创建文件
touch(创建文件)
举例:touch a.txt(创建名为a的文本文档);touch b.avi(创建名为b的avi文件)
2.重定向文件
">"、">>"(创建文件,并通过echo打印命令像文件中写入、覆盖、追加内容)
利用重定向">"功能,将一条指定的输出结果写入到一个文件中,会覆盖原文件内容,如果指令的文件不存在,则会创建此文件。">>"将一条指令的输出结果追加到另一个文件中,不会覆盖原文件。
举例:echo "abc" >abc.txt(创建abc.txt文档,并写入内容abc);echo "hhh" >abc.txt(如果abc.txt文档已存在,则替换abc.txt文档中的内容为hhh);echo "def" >>abc.txt(追加内容def到abc.txt文档中)
3.文本编辑器
vi(创建文件,并自由编辑内容)
举例:vi 1.txt(如果1.txt存在,则是编辑此文件,如果1.txt文件不存在,则是创建并编辑此文件)
输入vi 1.txt命令首先会进入“一般模式”,此模式只接受各种命令快捷键,不能编辑内容,
按"i"键就会从一般模式进入编辑模式,此模式下,键入的都是文件内容,
编辑完成后,按Esc退出编辑模式,回到一般模式,
再按":"键,进入底行命令模式,输入"wq"命令,回车即可。
编辑器中常用快捷键(在一般模式下使用)
a 在光标后一位开始插入
A 在该行的最后插入
I 在该行的最前面插入
o在光标当前所在行下添加一新行
O在光标当前所在行上添加一新行
gg 直接跳到文件的首行
G 直接跳到文件的末行
dd 删除一行
3dd 删除三行
yy 复制一行
3yy 复制三行
p 粘贴
u 回退
v 进入字符选择模式,选择完成后,按y复制,按p粘贴
ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴
shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴
显示行号:(:set nu)
隐藏行号:(:set nonu)
编辑器中查找并替换(在底行命令模式中输入)
查找关键字:(:/a)查找文件中出现的a,并定位到第一个 找到的地方,按n键可以定位到下一个匹配位置(按N键定位到上一个)。
替换关键字(:s/aaa/bbb)查找光标所在行的第一个aaa,替换为bbb;(:%s/aaa/bbb)查找文件中所有的aaa,替换为bbb。
3.cp、rm、mv(拷贝/删除/移动)
举例:(cp 1.doc /home/wxy)将当前目录下的1.doc文件拷贝到/home/wxy目录中;(cp 1.doc /home/wxy/2.doc)将当前目录下的1.doc文件拷贝到/home/wxy目录中并重命名为2.doc;(cp -r file /home/wxy)将当前目录下的file文件夹拷贝到/home/wxy目录中。(注:如果执行时出现”cp: omitting directory”的提示信息,但使用mv则可以成功剪切粘贴,是由于该目录下含有子目录,这个时候需要使用 cp -r 参数来递归拷贝这些及其子文件夹下的文件。)
(rm 1.doc)、(rm -r 1.doc)需要确认是否删除;(rm -rf 1.doc)直接删除,不需要确认。
(mv 1.doc /home)将当前目录下的1.doc移动到/home目录中
4.查看文件内容
cat
举例:(cat install.log)一次性将文件内容全部输出到控制台。
分页查看文件的命令
more
举例:(more install.log)可以翻页查看,下翻一页(空格),上翻一页(b),下翻%2(d),帮助(h),退出(q)。
less
举例:(less install.log)可以翻页查看,下翻一页(空格),上翻一页(b),上翻一行(↑),下翻一行(↓),搜索关键字(/keywod),跳到文件末尾(G),跳到文件首行(gg),退出less(q)。
head(显示文件头部指定行数)
(head -n 20 install.log)查看文件前20行
(head -n -100 /etc/man.config)后面 100 行的数据都丌打印,只打印/etc/man.config 的前面几行
tail(显示文件尾部指定行数)
(tail -n 10 install.log)查看文件尾部的10行
(tail -n +10 install.log)查看文件10-->末行
(tail -n +100 /etc/man.config)不知道/etc/man.config 有几行,只想列出 100 行以后的数据
持续监听文件内容
(tail -f install.log)小f跟踪文件的唯一inode号,就算文件改名后,还是跟踪原来这个inode表示的文件
(tail -F install.log)大F按照文件名来跟踪
(haed -10 install.log)查看文件头部的10行
例题--组合管道符使用:
(head -n 20 /etc/man.config | tail -n 10 )显示 /etc/man.config 的第 11 到第 20 行
od (读取二进制文件)
/usr/bin/passwd,使用上边提到的指令来读取该文件的内容时, 会产生类似乱码的数据,可以用od命令解决。
(od -t c /usr/bin/passwd)将/usr/bin/passwd 的内容使用 ASCII 方式展现
选项或参数:
-t :后面可以接各种『类型 (TYPE)』的输出,例如:
a :利用默认的字符来输出;
c :使用 ASCII 字符来输出
d[size] :利用十进制(decimal)来输出数据,每个整数占用 size bytes ;
f[size] :利用浮点数(floating)来输出数据,每个数占用 size bytes ;
o[size] :利用八进制(octal)来输出数据,每个整数占用 size bytes ;
x[size] :利用十六进制(hexadecimal)来输出数据,每个整数占用 size bytes ;
5.打包压缩
压缩 gzip
举例:(gzip a.txt)把a.txt压缩;(gzip -d a.txt.gz)把压缩文件解压缩
压缩 bzip2
举例:(bzip2 a.txt)把a.txt压缩;(bzip2 -d a.txt a.bz2)把压缩文件解压缩
打包 tar -cvf(c代表创建,,v代表显示进度,f代表一个文件包);解包tar -xvf(x代表解一个包);追加(r代表)
举例:(tar -cvf test.tar 1.txt 2.txt aaa)将1.txt、2.txt、aaa打包到test.tar文件夹中;
(tar -xvf test.tar)将test.tar文件夹中1.txt、2.txt、aaa解包;
(tar -rvf test.tar 3.txt)将2.txt追加到test.tar文件夹中。
打包并压缩 tar -zcvf
举例:(tar -zcvf test.tar.gz 1.txt 2.txt aaa )将1.txt、2.txt、aaa打包到test.tar文件夹中,并压缩;
(tar -zxvf test.tar.gz)将test.tar.gz文件夹中1.txt、2.txt、aaa解压缩;(tar -zxvf test.tar.gz -C /usr)将test.tar.gz中的文件解压到usr下
查看压缩包内容
举例:(tar -ztvf test.tar.gz)查看test.tar.gz中的内容
查找
which ls (查找可执行的命令所在的路径)
whereis ls (查找可执行的命令和帮助的位置)
find / -name "wxy" (查找关键字包含wxy的文件夹或文件)
find / -name "wxy" -ls (查找关键字包含wxy的文件夹或文件并显示详细信息)
查找并删除
find -name "wxy" -ok rm{}\
find -name "wxy" -exec rm{}\
find /usr -user wxy -ls(查找用户为wxy的文件)
文件权限的操作
1.权限含义
r:可读;w可写;x可执行
举例:(drwxr-x---它可以用二进制进行表示(有权限是1,无权限是0) 所以是111 101 000 --> 转换成十进制750)第一组:rwx:表示这个文件的所有者对它的权限:可读可写可执行;
第二组:r-x表示这个文件的所属组用户对它的权限:可读不可写可执行;第三组:---表示这个文件的其他用户对它的权限:不可读不可写不可执行。
2.修改文件权限 chmod
举例:chmod g-rw 123.dat 表示将123.dat对所属组取消rw权限(g代表group);
chmod o-rw 123.dat 表示将123.dat对其他人取消rw权限(o代表other);
chmod u+x 123.dat 表示将123.dat对所属用户增加x权限(u代表user);
chmod a-x 123.dat 表示将123.dat对所有用户取消x权限(a代表all);
chomod u=rwx,go=rx 123.dat 表示将123.dat对所属用户rwx权限,所属组和其他用户rx权限;
也可以用数字的方式来修改权限(chmod 664 123.dat 就会改成rw-rw-r--)(4代表r,2代表w,1代表x);
如果将一个文件夹的所有内容权限统一修改,则可以使用-R参数(chomd -R 770 wxy/)就是将wxy文件夹中所有的权限都改成rwxrwx---;
r:对文件来说是可读取内容,对文件夹来说是可以ls(看里边东西);
w:对文件来说是可修改文件内容,对文件夹来说是可以在其中创建或者删除子节点;
x:对文件来说是能否运行这个文件,对文件夹来说是能否cd(进入这个目录)。
修改所属 chown
举例:(chown wxy:wxy a.txt) 说明:此命令只能由root执行
基本的用户管理
1.添加用户 useradd 举例(useradd xiyang)新建一个xiyang用户;(passwd xiyang)为此用户新建一个密码;(userdel xiyang)把xiyang用户删除;(userdel -r xiyang)把xiyang用户及用户的目录都删除;(exit)退出当前用户;(cat /etc/passwd)查看所有用户。
添加一个tom用户,设置它属于users组,并添加注释信息
分步完成:useradd tom --> usermod -g users tom --> usermod -c "hr tom"tom --> 设置tom用户密码 passwd tom
一步完成:useradd -g users -c "hr tom"tom --> 设置tom用户密码 passwd tom
2.修改用户
举例:(usermod -l tomcat tom)修改tom用户的登录名为tomcat;(usermod -G sys,root tomcat)将tomcat添加到sys和root组中;(groups tomcat)查看tomcat的组信息;
3.用户组操作
举例:(groupadd america )添加一个叫america的组;(usermod -g america jerr)将Jerry添加到amecica组中;(gpasswd -d tomcat root)-->(gpasswd -d tomcat sys)将tomcat用户从root组合sys组删除(groupmod -n am america)将america组名修改为am。
4.为用户配置sudo权限
(su)更换用户为root,需要输入root密码;(sudo useradd user1 )因为添加用户是root的权限,所以普通用户执行添加用户操作需要前面加上sudo,意思是获取到root权限,但执行此命令前提需要用root用户先更改一下sudoers文件,(命令为:vi /etc/sudoers)在文件末尾向上几行处,将(root ALL=(ALL) ALL)下增加一条(xiyang ALL=(ALL) ALL),其中xiyang为要分配此权限的用户名,括号中的ALL是变量,可以指定任意一个路径。
统计文件或文件夹大小
df -h 查看磁盘的剩余空间;
du -sh *(s是汇总h是单位)统计指定路径下的所有子目录和文件的大小;
举例:(du -sh /home/user1)查找home目录下的user1文件夹的大小。
清空文件内容:cp /dev/null install.log(将dev/null 拷贝到install.log中)会提示是否覆盖,输入y即可
系统服务管理 service
(service --status-all)查看系统所有的后台服务进程;
(service --status-all | grep httpd)从前面查找中的内容中找httpd关键字;
(service sshd status)查看指定的后台服务(sshd)进程状态;
(service iptables status)查看防火墙服务进程状态;
(service sshd stop)结束指定的后台服务(sshd)进程;
(service sshd start)启动指定的后台服务(sshd)进程;
(service sshd restart)重启指定的后台服务(sshd)进程。
1.配置后台服务进程的开机自启 chkconfig
(chkconfig httpd on)让httpd服务开机自启;
(chkconfig httpd off)让httpd服务开机不自启;
(chkconfig --list)查看服务开机自启的状态;
(chkconfig --list | grep httpd)查看指定服务(httpd)开机自启的状态;
(chkconfig --level| 35 httpd on)让httpd服务的第三项和第五项开机自启;
2.系统启动级别管理
vi /etc/inittab(进入inittab中配置系统默认启动级别,注意一定不要设置为0和6)
# 0 - halt (Do NOT set initdefault to this)系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
# 1 - Single user mode单用户工作状态,root权限,用于系统维护,禁止远程登陆
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)多用户模式,但不支持网络系统
# 3 - Full multiuser mode没有图形界面的,全功能的多用户模式,登陆后进入图形GUI模式
# 4 - unused系统未使用,保留
# 5 - X11带图形界面的,全功能的多用户模式,登陆后进入图形GUI模式
# 6 - reboot (Do NOT set initdefault to this)系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
3.进程管理
top
free
ps
举例(ps -ef |grep ssh)检查ssh进程是否存在,-e是显示所有进程,-f是全格式。
kill进程查看命令
举例(kill -9 2358)将指定进程号(2358)的进程杀死,-9就是强制杀死。
ssh免密登录
软件安装
1.查询linux系统中的所有软件包
命令1:(yum list)查询所有软件 --进一步查询可用(yum list | grep 软件名),例如:(yum list | grep lrzsz)
命令2:(rpm -qa)查询所有软件--进一步查询可用(rpm -qa |grep 软件名),例如:(rpm -qa | grep lrzsz)
2.安装(二进制文件直接下载解压即可,例如jdk)
命令1:yum install lrzsz -y
命令2:wget + 链接
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
rpm查询命令
(rpm -qa)查询linux系统中的所有软件包(rpm -qa lrzsz)
(rpm - q)查询指定名称的软件包是否安装(rpm - q lrzsz)
(rpm - qi)查询指定名称软件包的详细信息(rpm - qi lrzsz)
(rpm - ql)查询指定名称软件包中所包括的文件列表(rpm - ql lrzsz)
(rpm - qf)查询指定文件所属的软件包(rpm - qf lrzsz)
(rpm - qpi)查询指定RPM包文件的详细信息(rpm - qpi lrzsz)
(rpm - qpi)查询指定RPM包中包含的文件列表(rpm - qpl lrzsz)
yum命令
(yum update)升级系统
(yum install httpd)安装指定的软件包
(yum update httpd)升级指定的软件包
(yum remove httpd)移除指定的软件包
(yum search httpd)删除指定的软件包
(yum list httpd)列出软件的详细信息