Linux基本命令

一、vi编辑文件命令:
vi hello.java 打开文件hello.java
i键进入编辑模式
Esc退出编辑模式,回到命令模式
:wq 保存文件并退出vi
:q 不保存文件,退出vi
:q! 不保存文件,强制退出vi
在命令模式下:
yy拷贝文件中当前行并粘贴,5yy拷贝文件中光标后的5行并粘贴
dd删除文件中当前行,5dd删除文件中光标后的5行
/hello在文件中查找hello关键字,输入n找到下一个匹配到的关键字hello
:set nu显示文件行号
:set nonu取消文件行号
G移动光标到文件最后一行
gg移动光标到文件第一行
u撤销操作
把光标移动到第20行,需要3步:
 1、:set nu显示文件行号
 2、输入20
 3、快捷键shift+g
二、关机重启注销:
shutdown -h now立即关机
shutdown -h 11分钟后关机
shutdown -r now立即重启
halt关机
reboot重启系统
sync把内存的数据同步到磁盘。建议关机前先执行以下
 登录时尽量少用root账号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用su - root命令来切换成管理员身份。
logout注销
三、用户管理:
useradd lizq添加用户lizq,没有指定用户主目录时,会自动在home下创建同用户同名的目录
useradd -d /home/dog xiaoq添加用户xiaoq,并指定/home/dog作为用户xiaoq的主目录
passwd lizq给用户lizq设置密码
 用不同用户登录,系统会自动切换到该用户的主目录。如:lizq登录就在/home/lizq下;xiaoq登录就在/home/dog下
userdel lizq删除用户lizq,保留用户主目录
userdel -r lizq删除用户lizq,并删除用户主目录
 实际开发中,只删除用户,不会删除用户主目录
su - root切换到root用户。从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
exit退出当前用户。
id lizq查看用户lizq。若没有该用户会提示无此用户
groupadd wudang创建用户组wudang
useradd -g wudang zwj创建用户zwj,并指定到用户组wudang
usermod -g shaolin zwj修改用户zwj的用户组为shaolin
groupdel wudang删除用户组wudang
chown lizq a.txt把文件a.txt的所有者修改为lizq
chown -R lizq /home把目录home下的所有文件和目录的所有者都修改为lizq
chgrp wudang a.txt把文件a.txt所在组修改为wudang
chgrp -R wudang /home把目录home下的所有文件和目录的所在组修改为wudang
 /etc/passwd文件:用户的配置文件,记录用户的各种信息
 /etc/shadow文件:口令的配置文件
 /etc/group文件:组的配置文件,记录Linux包含的组的信息
四、实用指令
init 3指定运行级别为3多用户有网络服务
在这里插入图片描述
man ls查看ls命令的使用方法
help cd查看cd命令的使用方法
pwd显示当前工作目录的绝对路径
ls -a显示当前目录所有的文件和目录,包括隐藏的
ls -l以列表的方式显示信息
ls -ahla显示隐藏的文件,l显示详细列表模式,h显示大小便于查看
cd /home切换到home目录下
cd ~或cd回到用户主目录
cd..回到当前目录的上一级目录
mkdir /home/tiger在home目录下创建tiger目录
mkdir -p /home/animal/dog创建多级目录。在home目录下创建animal目录,然后在animal目录下创建dog目录
rmdir /home/tiger删除空目录tiger。rmdir只能删除空目录
rmdir -rf /home/tiger删除非空目录tiger
touch hello.java创建空文件hello.java
touch hello.java hello.txt创建多个空文件hello.java和hello.txt
cp hello.txt bbb拷贝文件hello.txt到指定目录bbb
cp -r aaa bbb拷贝目录aaa到指定目录bbb
rm hello.txt删除文件hello.txt
rm -f hello.java删除文件hello.java,不提示
rm -rf aaa强制删除目录aaa
mv移动文件与目录或重命名
mv aaa.txt pig.txt把文件aaa.txt重命名为pig.txt
mv pig.txt /root把文件pig.txt移动到root目录下
cat pig.txt以只读的方式查看文件pig.txt内容
cat -n /etc/profile | more分页查看/etc/profile文件,并显示行号
more /etc/profile分页查看/etc/profile文件

空格键(space):向下翻一页;
Enter:向下翻一行;
q:退出more;
Ctrl+F:向下滚动一屏;
Ctrl+B:返回上一屏;
=:输出当前行的行号
:f :输出文件名和当前行的行号

less /etc/profile分屏查看/etc/profile文件。不是一次性将整个文件全部加载显示,而是根据显示需要加载内容

空格键(space):向下翻一页;
Page Down:向下翻一页;
Page Up:向上翻一页;
/字符:向下搜寻[字符]的功能;n:向下查找;N:向上查找;
?字符:向上搜寻[字符]的功能;n:向上查找;N:向下查找;
q:退出less;

>指令和>>指令:
  >输出重定向:会将原来的文件的内容覆盖
  >>追加:不会覆盖原来文件的内容,而是追加到文件的尾部
  ls -l > a.txtls -l显示的内容写入到文件a.txt中。a.txt存在则覆盖原内容,不存在则创建a.txt文件
  ls -l >> b.txtls -l显示的内容追加到文件b.txt中。不会覆盖原内容
  cat a.txt > b.txt把文件a.txt的内容覆盖到b.txt中
  echo "hello world!" > a.txt用输出的hello world!覆盖文件a.txt中的内容
  echo "hello world!" >> a.txt把输出的hello world!追加到文件b.txt中
echo "hello world!"输出字符串"hello world!"
echo $PATH输出环境变量路径
head a.txt显示文件a.txt的开头部分前10行的内容
head -n 5 a.txt显示文件a.txt的开头部分前5行的内容
tail a.txt显示文件a.txt的末尾部分后10行的内容
tail -n 5 a.txt显示文件a.txt的末尾部分后5行的内容
tail -f a.txt实时追踪该文件a.txt的所有更新。在工作中经常使用
ln -s /root linkToRoot创建软连接linkToRoot指向root目录
rm -rf linkToRoot删除软连接linkToRoot
history查看执行过的命令
history 10查看最近执行的10个命令
!10执行hostory查询到的历史命令编号为10的命令
date显示当前时间
date +%Y显示当前哪一年
date +%m显示当前哪一月
date +%d显示当前哪一天
date "+%Y-%m-%d"显示当前时间的年月日
date "+%Y-%m-%d %H:%M:%S"显示当前时间的年月日时分秒
date -s "2018-10-10 11:22:28"设置当前时间为2018-10-10 11:22:28
cal显示当前日历
cal 2020显示2020年日历
find /home -name hello.txt按文件名,在home目录下查找文件hello.txt
find /opt -user nobody按拥有者,在opt目录下查找文件nobody
find / -size +20M查找大于20M的文件
find / -size -20M查找小于20M的文件
find / -size 20M查找等于20M的文件
find / -name *.txt查找根目录下,所有的.txt文件
locate hello.txt快速定位hello.txt的位置。第一次使用时必须先使用updatedb指令创建locate数据库
cat hello.txt | grep yes在hello.txt文件中查找yes
cat hello.txt | grep -n yes在hello.txt文件中查找yes,并显示行号
cat hello.txt | grep -i yes在hello.txt文件中查找yes,忽略大小写
cat hello.txt | grep -ni yes在hello.txt文件中查找yes,忽略大小写,并显示行号
 管道符号:|,表示将前一个命令的处理结果输出传递给后面的命令处理
zip压缩文件,unzip 解压文件
zip -r mypackage.zip /home将home下的所有文件压缩为mypackage.zip
unzip -d /opt/tmp mypackage.zip把压缩包mypackage.zip解压到/opt/tmp下
tar -zcvf a.tar a.txt b.txt把文件a.txt和b.txt打包为a.tar
tar -zcvf a.tar /home把home目录下所有文件打包为a.tar
tar -zxvf a.tar把压缩包a.tar解压到当前目录
tar -zxvf a.tar -c /opt把压缩包a.tar解压到opt目录下。指定解压到的目录必须事先存在
五、权限管理
在这里插入图片描述
0-9位说明 :
(1)、第0位确定文件类型(d, - , l , c , b)
(2)、第1-3位确定该文件的所有者拥有的权限
(3)、第4-6位确定所属组拥有该文件的权限
(4)、第7-9位确定其他用户拥有该文件的权限
rwx权限详解:
rwx作用到文件:
(1)、 r 代表可读(read): 可以读取,查看
(2)、 w 代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
(3)、 x 代表可执行(execute):可以被执行
rwx作用到目录:
(1)、r代表可读(read): 可以读取,ls查看目录内容
(2)、w 代表可写(write): 可以修改,可以在目录内创建目录,删除目录,重命名目录
(3)、x 代表可执行(execute):可以进入该目录

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
第一个字符代表文件类型:文件(-),目录(d),链接(l)
其余字符每3个一组(rwx) 读(r) 写(w) 执行(x)
第一组rwx : 文件拥有者的权限是读、写和执行
第二组rw-: 与文件拥有者同一组的用户的权限是读、写但不能执行
第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行
1 文件数、硬连接数或 目录:子目录数
root 用户
root 组
1213 文件大小(字节),如果是文件夹,显示4096字节 ,代表文件夹大小
Feb 2 09:39 最后修改日期
abc 文件名

chomd修改权限:
第一种方式:+ 、-、= 变更权限
 u:所有者 g:所有组 o:其他人 a:所有人
(1)、chmod u=rwx,g=rx,o=x 文件目录名
(2)、chmod o+w 文件目录名
(3)、chmod a-x 文件目录名
第二种方式:用数字代表权限 r=4 w=2 x=1,rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名 相当于 chmod 751 文件目录名
六、定时任务
crontab进行定时任务的设置
在这里插入图片描述
案例:
 设置个人任务调度,执行crontab –e命令。 接着输入任务到调度文件,如:*/1 * * * * ls –l /etc/ > /tmp/to.txt 意思说每小时的每分钟执行ls –l /etc/ > /tmp/to.txt命令
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
conrtab –r终止任务调度
crontab –l列出当前有那些任务调度
service crond restart重启任务调度
七、磁盘情况查询
df -lh查询系统整体磁盘使用情况
du -h /目录查询指定目录的磁盘占用情况,默认为当前目录
 -s 指定目录占用大小汇总
 -h 带计量单位
 -a 含文件
 --max-depth=1 子目录深度
 -c 列出明细的同时,增加汇总值
八、进程管理
ps -a显示当前终端的所有进程信息
ps -u以用户的格式显示进程信息
ps -x显示后台进程运行的参数
ps -aux|grep java查看java进程
在这里插入图片描述
指令说明:
 • USER:用户名称
 • PID:进程号
 • %CPU:进程占用CPU的百分比
 • %MEM:进程占用物理内存的百分比
 • VSZ:进程占用的虚拟内存大小(单位:KB)
 • RSS:进程占用的物理内存大小(单位:KB)
 • TTY:终端名称
 • STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通 优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止
 • START:进程的启动时间
 • TIME:CPU时间,即进程使用CPU的总时间
 • COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
ps -ef|grep java以全格式显示java进程,并查看java进程的父进程。
在这里插入图片描述
指令说明:
  • UID:用户ID
  • PID:进程ID
  • PPID:父进程ID
  • C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算, 执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
  • STIME:进程启动的时间
  • TTY:完整的终端名称
  • TIME:CPU时间 ,即进程使用CPU的总时间
  • CMD:启动进程所用的命令和参数
kill 进程号根据进程号杀死进程
killall 进程名称根据进程名称杀死进程
kill -9 进程号根据进程号强制杀死进程
九、服务管理
systemctl start firewalld启动防火墙
systemctl stop firewalld关闭防火墙
systemctl status firewalld查看防火墙状态
systemctl disable firewalld开机禁用防火墙
systemctl enable firewalld开机启用防火墙
top [选项]
在这里插入图片描述
在这里插入图片描述
监视特定用户:输入top命令,按回车键,查看执行的进程。然后输入u回车,再输入用户名
终止指定的进程。 输入top命令,按回车键,查看执行的进程。然后输入k回车,再输入要结束的进程
netstat [选项]
选项:
 -an:按一定顺序排列输出
 -p:显示哪个进程在调用
十、软件包的管理
rpm –qa|grep java查询有没有安装java的rpm软件包
rpm -qarpm -qa | more查询所安装的所有rpm软件包
rpm -qi java查询安装的java的rpm软件包的版本信息
rpm -ql java查看安装的java的rpm软件包在哪个目录
rpm -e java删除安装的java的rpm软件包
yum list|grep java查看yum服务器有没有java的安装包
yum search查找软件包
yum install安装软件包
yum list installed显示已安装的软件包
yum remove删除软件包
十一、其他命令
uptime系统运行负载情况
free显示内存的使用情况
uname查看系统信息
hostname查看主机名
who显示当前已登录的用户信息
whoami当前登录是谁
clear清除屏幕
ifconfig查看系统ip
ping测试某个地址是否可以连通
十二、常用快捷键
Tab命令自动补齐或显示可选项
Ctrl+c终止当前进程
Ctrl+d关闭终端
Ctrl+Insert复制命令
Shift+Insert粘贴命令

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值