Linux命令的应用

  • A+
所属分类:linux技术
摘要

软件准备:vm虚拟机(CentOS 7),Xshell5,Xftp51.ifconfig 查看IP地址2.hostname 查看当前得主机名

Linux命令

软件准备:vm虚拟机(CentOS 7),Xshell5,Xftp5

Linux文件管理命令

1.ifconfig 查看IP地址

2.hostname 查看当前得主机名

3.ls 显示文件和目录列表

4.ll 显示文件下得所有文件信息,包括隐藏得文件

5.ls -ah 显示文件下隐藏得文件,包括没有隐藏得

6.pwd 显示当前工作目录(绝对路径)

7.mkdir [文件夹的名称] 创建文件夹 如果有后缀,则是文件名称

8.touch [文件名.后缀] 创建空文件

9.rm -r -f 删除文件或者文件夹 后面跟文件名,如果是目录则不需要跟后缀,如果是文件名则需要跟后缀
例:rm -rf test.txt(删除test文件)或者rm -rf test(删除文件夹)

任何情况下都不能执行此命令:rm -rf /*  !!! 删除系统中所有文件,没有权限的除外

10.vim [文件名] 编辑文件 编辑文件时可以按i开始编辑文件,按ESC退出编辑,按: + wq 退出vim加保存

11.cp [源文件位置] -r [要复制的目录] 复制文件到对应的目录下

12.mv [问价或者目录] [目录的新名字或者要移动的目录] 剪切文件 或 文件夹 或重命名 加/移动 不加重命名

13.cat [文件名] 查看文件内容 cat -n [文件名] 查看文件内容并显示行号
cat anaconda-ks.cfg original-ks.cfg >> helloworld.txt 将两个文件剪切的结果追加到 helloworle.txt文件中
cat anaconda-ks.cfg original-ks.cfg >helloworld.txt 将两个文件剪切的结果覆盖到 helloworle.txt文件中

14.clear 清屏 , 只是把内容往上移,不会真的清除记录

15.more helloworld.txt 分页展示文件内容 . 空格是下一页,回车是下一行,按q可以退出分页

16.less -N helloworld.txt 分页展示文件内容 按PgUp和PgDn 换行

17.head -5 helloworld.txt 返回头部前5行

17.tail -5 helloworld.txt 返回尾部后5行

18.grep 全面搜索正则表达式并把行打印出来,是一种强大的文本搜索工具

用户管理

1.cat -n passwd 查看用户

2.cat -n group 查看用户组

3.useradd [用户名] 创建用户

4.userdel [用户名] 删除用户

5.groupadd [用户组名] 添加用户组

6.groupdel [用户组名] 删除用户组

7.gpasswd -a test1 group1 将用户添加到用户组中

8.passwd [用户名] 给用户创建密码 新创建的用户是没有密码的,创建完成之后使用这个命令给用户创建密码

9.su [用户名] 切换用户

使用su root 切换其他用户不需要密码,使用其他用户切换root用户时需要输入root用户的密码

权限管理

第一种方法:通过权限字符来修改:用于对权限需要严格控制的文件或目录

(1)用户表示:所属者(u),所属组用户(g),其他用户(o),所有用户(a)

(2)权限表示:读(r),写(w),执行(x)

第二种方法:通过数字来修改:一般用于对于权限要求不是太严格的

(1) 用户表示:三位二进制

(2) 权限表示:读(4),写(2),执行(1) 例如:chomd 764 file

1.chmod o-r hahaha.java 把其他用户读的权力删除

2.chmod o+r hahaha.java 添加读的权力给其他用户

2.chown zhaobinrui hahaha.java 把文件夹的所有权修改为其他用户

3.chgrp zhaobinrui hahaha.java 把文件夹的所有权修改为其他组

4.sudo useradd test1 越权创建用户,创建时必须先使用root用户输入visudo备份一下

Linux命令的应用

vi文本编辑器

i可以在当前光标输入文本,按ESC退出文本编辑

G快速到达最后一行

gg快速到达第一行

dd删除光标行正行内容;D删除从当前光标到光标所在行尾的全部字符;

u撤销所在操作

:set su nu 当前文本显示行号

:wq 在命令模式下,执行存盘退出操作;

:w 在命令模式下,执行存盘操作

:w! 在命令模式下,执行强制存盘操作

:q 在命令模式下,执行退出vi操作

:q! 在命令模式下,执行强制退出vi操作

find查找命令

find ~ -name "*.txt" 查找~文件夹下所有txt文件

磁盘管理命令

分区分为:主分区,扩展分区,逻辑分区,我本次使用的是虚拟机安装的Linux,分区之前先给虚拟机添加一个新硬盘

fidsk -l 查看分区情况

fdisk /dev/sdb 开始分区

Linux命令的应用

Linux命令的应用

Linux命令的应用

mkfs.ext4 /dev/sdb1 格式化分区

mount /dev/sdb1 /media 把格式化好的分区挂载到mdeia文件夹下(只是暂时挂载,重启就会失效,挂载前必须格式化)

df -h 查看挂载点

vim /etc/fstab 编辑此文件实现开机自动挂载(一个文件夹只能挂载一个分区,挂载前必须格式化)

Linux命令的应用

d 可以执行删除分区操作 删除完保存才可以生效,这里没有保存

Linux命令的应用

whoami 查看当前用户

echo hello world 输出命令

whatis java 会输出当前命令是干什么用的

whereis test.txt 查看文件文职

which ls 查看可执行文件位置

压缩及解压

zip -r testdirectory.zip testdirectory/ 压缩为zip格式的压缩包,-r 做一个递归的处理,把文件夹下面的东西也进行压缩,前面是压缩的文件名(必须写后缀),后边是要压缩的文件

unzip testdirectory.zip 解压文件

gzip -r testdirectory 只会压缩文件夹下面的文件

gunzip -r testdirectory 解压

bzip2 testdirectory/index.html 压缩

tar 命令
-c :打包 -x :解包 -v :显示解压详细步骤 -t :查看 -z :gzip -j :bzip2 -f :使用文档名

tar -zcvf testdirectory.tar.gz testdirectory 打包后,以 gzip 压缩

tar -jxvf testdirectory.tar.bz2 -C/ 解压到根目录

Linux 进程

ps -ef 查看所有进程

ps -ef | grep tomcat 查找特定进程

kill -9 9169 杀死特定进程

cat anaconda-ks.cfg | grep 'size' 管道符,将前面的内容交给后面,前面的命令必须有返回数据

cat anaconda-ks.cfg | grep 'size' > a.txt 在anaconda-ks.cfg中查找出'size'字样 并覆盖给a.txt文件

常用符号

两个>>表示追加

一个>表示覆盖

Linux运行tomcat

  • 使用Xftp将压缩包上传到Linux服务器上

  • 解压tomcat
    Linux命令的应用

  • 进入tomcat/bin目录下输入./startup.sh运行Tomcat ,虚拟机上的浏览器就可以访问tomcat了

  • service iptables stop

  • systemctl stop firewalld 关闭防火墙,本地就可以访问tomcat

    Linux命令的应用

Linux安装mysql

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm 下载mysql57-community-release-el7-9.noarch.rpm

rpm -ivh mysql57-community-release-el7-9.noarch.rpm rpm软件包的安装

cd /etc/yum.repos.d/ 进入此文件夹执行以下命令

yum install mysql-server 安装rpm软件包

systemctl start mysqld 开启MySQL服务

ps -ef | grep mysqld 查看MySQL进程是否开启

grep 'temporary password' /var/log/mysqld.log 查看mysql的临时密码

mysql -u root -p 登录MySQL(输入root临时密码)

alter user 'root'@'localhost' IDENTIFIED BY 'oxygen_123Z' 设置MySQL中root密码

use mysql

select Host,user from user;

update user set Host = '%' where user = 'root'; 修改root用户为本地可用(本地可以连接到Linux虚拟机上的数据库)

flush privileges; 刷新MySQL的系统权限相关表,否则会出现拒绝访问

最后,quit退出mysql,使用systemctl stop firewalld(防火墙的版本)把防火墙关闭就可以本地连接Linux虚拟机上的mysql,关闭防火墙之前先确定防火墙的版本,systemctl status firewalld查看防火墙的状态

卸载并安装jdk

rpm -e java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64 卸载java

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64 强制卸载java

yum -y install java-1.8.0-openjdk 安装jdk1.8(-y:自动选择yes)

rpm -ivh --test mysql57-community-release-el7-9.noarch.rpm 测试安装mysql ,并不会真实安装