Linux基本指令

Linux


内核:只提供操作系统的基本功能和特性,如内存管理,进程调度,文件管理等等。

Linux内核: https://www.kernel.org/

发行版:基于linus维护的linux内核,是由一些厂商集成了漂亮易用的桌面和常用的软件而发布的商品。


Linux与Windows的不同
  1. Linux严格区分大小写

  2. Linux中所有内容都以文件形式保存,包括硬件

  3. Linux不靠拓展名区分文件类型:

    >压缩包:“.gz”,“.bz2",".tar.bz2”,"*.tgz"等

    >二进制软件包:“*.rpm”

    >网页文件:“.html",".php”

    >脚本文件:“*.sh”

    >配置文件:“*.conf”

    4.Windows下的程序不能直接在Linux中安装和运行


字符界面的优势:
  1. 字符界面占用的资源更少
  2. 字符界面减少了出错,被攻击的可能性
如果windows想要和vmware这个虚拟机进行通讯,windows必须要有vmnet8


Linux系统的目录结构

Linux系统的目录结构是一个树状结构,根目录只有一个 / 


命令基本格式

  • ls [选项] [文件或目录]:查询目录中的内容
选择:
  -a   :显示所有文件,包括隐藏文件
  -l   :显示详细信息   ls -l  简写 ll
  -h   :人性化形式文件大小 -- ls -l -h 简写 :-ls -lh  
  • clear: 清屏
  • pwd:查询所在目录位置
  • touch 文件名:创建文件
  • mkdir -p[目录名] :建立目录
  • 切换所在目录:cd [目录]
简化操作:
cd ~		进入当前用户的家目录
cd 		同上
cd -		进入上次目录
cd ..		进入上一级目录
cd .		进入当前目录
--------------------------------------
  
  • 删除空目录:rmdir

    用法:rmdir [目录名] 创建一个目录
                       创建层级目录 -p
    
  • 删除文件或目录:rm

     用法:rm -rf [文件或目录]
     选项:
     -r 递归删除目录
     -f 强制
    
  • 复制命名:cp

复制目录需要加上 -r
  • 剪切或改名命令:mv
cp 源文件 新名称 ---->把源文件拷贝一份,名字就是你指定的名字
cp 源文件 目录 ------>把源文件拷贝一份,拷贝到指定目录中,名字和之前源文件的名字相同
cp 源文件 目录/新名字---->把源文件拷贝一份,拷贝到指定目录中,名字是你指定的新名字
  
mv 源文件 新名称 ---->把源文件的名字改名新名称
mv 源文件 目录------>把源文件剪切到指定目录中,名称和之前的名称一样
mv 源文件 目录/新名称 --->  把源文件剪切到指定目录中,名称是你指定的新名称
  • whereis 命令名 #搜索命令所在路径及帮助文档所在位置
  • which* *文件名 #搜索命令所在路径及别名

文件搜索命令
  • find [搜索范围] [搜索条件]
示例:
find / -name install.log
//find / -name install.* 匹配多个
//find / -name install.lo? 匹配一个  
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名.如果需要匹配,使用通配符匹配,通配符是完全匹配
	
find /root -iname install.log	#不区分大小写
find /root -user root	#按照所有者搜索
find /root -nouser		#查找没有所有者的文件

  • 字符串搜索命令 grep [选项] 字符串 文件名:
grep [选项] 字符串 文件名
\#在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
  • man命令: 用法:man ls #查看ls的帮助

    选项帮助:
    命令 --help #获取命令选项的帮助
    实例:ls --help
    但是不适用内部命令,如cd:
    help cd
    

压缩与解压缩命令
  • .zip格式:
压缩用法: zip 压缩文件名 原文件
 zip -r 压缩文件名 原文件夹
 解压用法: unzip 压缩文件
  • .gz格式:
压缩用法: gzip 原文件   压缩为.gz格式的压缩文件,原文件会消失
 gzip -r 目录   压缩目录下的所有子文件,但是不能压缩目录

解压用法:
 gzip -d 压缩文件
 gunzip 压缩文件
 
gz格式 去压缩目录的时候是有缺陷的, 他是对于目录里面的文件进行了一个个压缩

打包命令


打包命令&解打包:

  • 打包命令: tar -cvf 打包文件名 源文件
选项:
-c 打包
-v 显示过程
-f 指定打包后的文件名


解打包: tar -xvf 打包文件名
选项:
-x 解打包

  • .tar.gz格式:
选项:-z  压缩为.tar.gz格式
压缩用法: tar -zcvf 压缩包名.tar.gz 源文件
解压用法: tar -zxvf 压缩包名.tar.gz
 tar -zxvf 压缩包名.tar.gz -C 指定目录

关机和重启命令
  • shutdown命令:
用法 shutdown [选项] 时间
选项:
-c 取消前一个关机命令
-h 关机
-r 重启
\#使用shutdown会在关机的时候帮我们保存数据

其他重启命令:

reboot
init 6

其他关机命令:

halt
poweroff
init 0
\#使用这三个命令不是特别安全,因为它们不会帮我们保存数据

其他命令
磁盘使用情况df:		选项-h: 格式化显示输出磁盘使用情况

查看操作历史history:	用于显示执行过的历史命令记录

在显示器输出内容:echo

文件查看命令cat

日志监控命令:tail	 默认在屏幕上显示指定文件的末尾10-f  显示文件最新追加的内容。
	 -n 行数   在屏幕上显示指定文件的末尾参数设置的行数

查看内存占用:free

查看任务进程:top


Vi编辑器

三种模式:
  • 编辑模式
  • 输入模式:在编辑模式下按i、a、s、o、I、A、S、O u是撤回
  • 末行模式 : :q! 不保存退出 :wq 保存并退出
编辑模式(命令模式)---i,a,s,o---->输入模式
               <------esc-------   
  
编辑模式------ : ------->末行模式
       <------esc--------
  
i:	在光标所在字符前开始插入
a:	在光标所在字符后开始插入
o:	在光标所在行的下面另起一新行插入
s:	删除光标所在的字符并开始插入

I:	在光标所在行的行首开始插入 如果行首有空格则在空格之后插入
A:	在光标所在你行的行尾开始插入
O:	在光标所在行的上面另起一行开始插入
S:	删除光标所在行并开始插入
  
移动光标:
逐字符移动:     h:左移动   l:右移动  j:向下移动  k:向上移动

行内跳转(命令模式):
	0:跳转到行首
	$: 跳转到行尾
行间跳转(末行模式):
	num: 跳转到某一行(末行模式)
	G: 跳转行最后一行(编辑模式)
	gg: 跳转到第一行(编辑模式)

翻屏操作
在编辑模式下:  ctrl+f 向下翻一页    ctrl+b 向上翻一页
删除操作
dd: 删除光标所在行 (编辑模式)
3dd:从光标行开始删除3(编辑模式)
1,4d 删除第一行到第四行(末行模式)
1,$d :删除整个文件所有的内容
复制和粘贴
yy 复制光标所在行 (编辑模式)
2yy 从光标行开始复制2(编辑模式)
p: 粘贴命令(编辑模式)

查找和替换
/parttern 从前往后查找(末行模式)
?parttern 从后往前查找(末行模式)
n:  下一个匹配的字符串
N: 上一个匹配的字符串

文本的替换(末行模式):
	startNum,endNums/partter/string/gi
	g:全局替换
	i:忽略大小写
	%s/f/F/gi 	全局忽略大小写把f替换成F
	.,$s/F/f/gi	当前行到结尾把f替换成F

用户管理

创建用户 :useradd [用户名]
  
创建用户并分配一个组:useradd -G [组名] [用户名] 
  
查看系统用户:cat /etc/passwd
  
创建用户组	groupadd 组名	#查看系统用户组:cat /etc/group

修改用户组	usermod 	#usermod -G [组名] [用户名]

删除用户	userdel 用户	-f:强制删除用户,即使用户已登录 
		-r:删除与用户相关的所有文件。

删除组	groupdel 组名

设置用户密码	passwd 用户名	


文件权限

  • 文件权限解释:
示例: -rw-r--r--
\- 文件类型(- 文件 d 目录 I 软链接文件)
rw- r-- r--
u所有者 g所属组 o其他人
r读 w写 x执行
  • 修改权限chmod:
chmod [选项] 模式 文件名
选项
-R 递归

模式
[guoa] [+-=] [rwx]
[mode=421]
  • 修改文件的所有者: 用法:chown 用户名 文件名

  • 修改文件的所属组: 用法:chgrp 组名 文件名


- 参数解析

[root@192 ~]# ll
total 20
...
-rw-r--r--. 1 root root  225 Jun 15 09:17 movie.tar.gz

  -------------------------
解析
  -rw-r--r--. 1 root root  225 Jun 15 09:17 movie.tar.gz
  第一位参数:
  如果是 - 表示文件
  如果是 d 表示目录
  如果是 1 表示软链接
  9个占位3个表示一部分  
  第一部分:
   -rw-r--r--中
     rw-r:表示文件的所属者拥有的权限
   第二部分:
   -rw-r--r--中
      r--r:表示文件所属权限
   第三部分:
    -rw-r--r--中
       r--:表示其他用户权限
       
 -rw-r--r--. 1 root root  225 Jun 15 09:17 movie.tar.gz
                 |    |
             文件所属人|
                      |
                   文件所属组
   
root组: zhangsan
kent组: kent
  如果是root用户操作,拥有读 写权限
        zhangsan用户操作 : 读权限
        kent用户操作:读权限  
   
       
  r:表示读权限
  w:表示写权限
  x:表示执行权限  
  • 权限赋权
r-- :4
-w- :2
--x :1  
  
例子-----------------------
  -rwxrwxrwx  转成-rw-r--rw-
1.chmod u-x,g-w,g-x,o-x cangls.avi
2.chmod u=rw,g=r,o=rw cangls.avi
3.chmod 646 cangls.avi  
  
  • sudo权限:
root把本来只能超级用户执行的命令赋予普通用户执行.
sudo的操作对象是系统命令

visudo
\#实际修改的是/etc/sudoers文件

root ALL=(ALL) ALL
\#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)

%wheel ALL=(ALL) ALL
\#%组名 被管理注解的地址=(可使用身份) 授权命令(绝对路径)

系统服务管理:
启动服务:systemctl start <服务名>

关闭服务:systemctl stop <服务名>

重启服务:systemctl restart <服务名>

查看服务状态:systemctl status <服务名>

添加开机启动项:systemctl enable <服务名>

禁止开机启动项:systemctl disable <服务名>

查看开机启动项:systemctl list-unit-files



进程查看:ps:
用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。

ps -ef 显示出的结果:
  1.UID    用户ID
  2.PID    进程ID
  3.PPID   父进程ID
  4.C      CPU占用率
  5.STIME   开始时间
  6.TTY     开始此进程的TTY----终端设备
  7.TIME    此进程运行的总时间
  8.CMD    命令名.
  
  ps -ef | grep java ---管道符查看java进程信息
杀死进程:kill -9 pid


防火墙

防火墙配置命令:firewall-cmd
防火墙帮助:
fireweall-cmd --help

查看防火墙状态:
firewall-cmd --state

查看所有打开的端口:
firewall-cmd --zone=public --list-ports

开启端口:
firewall-cmd --zone=public --add-port=端口号/tcp --permanent(--permanent参数为永久生效,不加则重启后失效)

更新防火墙规则:
firewall-cmd --reload

删除端口:
firewall-cmd --zone=public --remove-port=端口号/tcp --permanent


软件安装

rpm
rpm 常用命令
安装一个包 
# rpm -ivh <包名>
--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。 
--force 即使覆盖属于其它包的文件也强迫安装 

查询一个包是否被安装 
# rpm -q <软件名>

得到被安装的包的信息 
# rpm -qi < 软件名> 

列出该包中有哪些文件 
# rpm -ql < 软件名> 

列出服务器上的一个文件或目录属于哪一个RPM包 
#rpm -qf <文件或目录名>

列出所有被安装的rpm package 
# rpm -qa 

卸载一个包 
# rpm -e <软件名>
yum
yum常用命令
查看yum库中的所有包
# yum list

安装命令
# yum install <软件名>

查看已经安装的软件包
# yum list installed

卸载软件包
# yum remove  <软件名>
   //管道查询
  yum list installed | grep httpd


JDK安装

1.把jdk软件通过SecureCRT工具上传到usr/local/software   //上传路径
2.cd /usr/local/software中进行解打包操作
 tar -zxvf jdk软件包名 -C /usr/local //解压到指定路径
3.mv jdk1.8.0_161 jdk1.8  //改名
4.vi /etc/profile  //配置jdk
   export JAVA_HOME=/usr/local/jdk1.8
   export PATH=$JAVA_HOME/bin:$PATH
   保存退出
5.source /etc/profile   //刷新
6.java -version //查看版本     


tomcat安装

1.把tomcat软件安装包上传到Linux/usr/local/software
2.   tar -zxvf tomcat软件包名 -C /usr/local //解压到指定路径
3.启动tomcat两种方式:: /usr/local/apache-tomcat-    7.0.78/bin/startup.sh
   二:找到tomcat对应bin目录,输入 ./startup.sh
     
4.如何确定tomcat是否有启动成功
    一: 查看tomcat的logs里面的catalina.out日志文件 tail -f -n 100 catalina.out //查看是否有端口信息:ps -ef | grep java 看是否有进程消息
 
5.如何重启tomcat:首先通过  ps -ef | grep java查看tomcat进程信息
  使用 kill -9 进程id 把tomcat进程杀掉,再去重新启动
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值