linux命令学习

174 阅读6分钟

今天来学习一下linux的一些常用命令

一 开关机常用命令

shutdown -h now: 现在关机

shutdown -r now: 现在重启

reboot: 现在重启

二 文件常用命令

1. 增

mkdir file: 创建一个名为file的文件夹

mkdir -p a/b/c: 创建a/b/c文件夹子列

touch a.txt: 创建名为a.txt的文件

2. 删

rm -r -f 文件夹(文件): 删除文件(文件夹)

r:recursion(递归)

3. 改

mv d1 d2: 将d1移动到d2里面,如果d2不存在那么就是将d1文件夹(文件)名字改成d2

cp a b:将a复制一份到b中

cp -r a b:将a及其以下所有的文件复制一份到b中

4. 查

ls -h -a -s -l

-a(all): 显示全部的

-s(size): 显示每一个文件的大小

-h(human-readable): 方便我们阅读

-l(long): 长的方式展示

5. 解压

tar -zxvf a.tar: 解压a.tar的包

三 vim常用命令

vim有三种模式,分别是普通模式,命令模式,插入模式

普通模式: 一开始进入就是普通模式,给我们来阅读的

命令模式: shift+冒号(:)进入命令模式

插入模式: i(insert)进入插入模式

命令模式下常用命令:

  1. set nu(number): 显示行数
  2. set nonu: 不显示行数
  3. w: 存盘
  4. q: 退出
  5. q!: 不存盘退出
  6. wq: 存盘退出
  7. x: 存盘退出
  8. o: 向下插入一行,并且进入插入模式
  9. O: 向上插入一行,并且进入插入模式
  10. /key: 搜索key(类似于windows里面编辑器的ctrl+f)

cat a.txt: 在终端显示a.txt里面的内容

tac a.txt: 相比较cat,tac是反序

head -3 a.txt: 在终端显示a.txt前3行的内容(想显示几行只需修改-后面的数字即可)

tail -3 a.txt: 在终端显示a.txt尾3行的内容(想显示几行只需修改-后面的数字即可)

find diction/bin -name text: 在diction/bin目录下查找一个名字为text的文件

grep abc a.txt: 在a.txt中查询是否有abc这三个字符

grep -n abc a.txt: 在a.txt中查找是否有abc这三个字符,如果有显示在第几行

wc -l a.txt: 统计a.txt中有多少行

管道命令: a | b(命令b操作的对象是a)

cat a.txt | grep -n hello: 在a.txt中查找是否有hello这个字符

重定向命令:

cat a.txt > b.txt: 将a.txt中的东西追加到b.txt里面去(从头开始,如果b.txt里面有东西的话就会覆盖掉)

cat a.txt >> b.txt: 将a.txt中的东西追加到b.txt里面去(如果b.txt里面有东西追加在末尾)

whereis a: 查看a命令的路径

who(w): 查看有多少个用户

whoami: 查看当前登录用户是谁

date: 显示时间

stat a.txt: 显示a.txt的一些详细信息

uname: 查看操作系统

hostname: 查看主机名

id: 查看用户信息

dmesg: 查看系统启动信息

du a.txt: 查看a.txt占用多大空间

df: 查看整个系统磁盘使用情况(/dev/sda:是指整个硬盘)

free -h:显示当前内存和交换空间

echo: 类似于java中的System.out.println

ln -s /root/diction/a.txt /root/diction/b.txt: 类似于windows的快捷方式,如果没有-s代表的是硬连接,软连接是宿主没了就没了,而硬连接不会

yum -y install a; 安装a命令

ping url: 来查看是否可以访问一个网站(url代表网站的网址)

telnet ip地址 端口号: 来查看是否能够顾访问该端口

五 linux目录结构

/ : 代表根目录

/root: 超级用户

/home: 普通用户相关文件

/bin: 普通用户可执行命令

/sbin: 超级用户可执行命令

/usr: 默认安装目录

/tmp: 临时文件目录

/lib: 库文件存放目录

/var: 系统经常变化的文件

用户

useradd admin: 新增一个用户名为admin的账号

useradd -r admin: 新增一个用户名为admin的账号(但是不会在/home下生成对应的文件)

useradd -g g1 admin: 新增一个名为admin的账号,该账号属于g1组

userdel admin: 删除用户名为admin的账号

userdel -rf admin: 删除一个用户名为admin的账号(同时把/home下面的文件夹也删除)

groupadd g1: 新增一个组名为g1的组

groupdel g1: 删除组名为g1的组

usermod -g g2 admin: 将admin账号更改到g2组

密码

passwd admin: 给admin账户设置密码

su - admin: 从当前账户切换到admin账户

六 在linux下安装java开发环境

1. 下载对应的linux版本的jdk

image.png

2. 配置JDK环境变量
2.1 vim /etc/profile
2.2 添加如下配置
export JAVA_HOME=/usr/local/software/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin

JAVA_HOME是自己电脑linux中jdk所在路径

2.3 使配置生效 source /etc/profile

七 在linux下安装mysql

1. 下载对应的linux版本的mysql包

image.png

2. 简化

解压mysql包: tar -zxvf /usr/local/mysql-8.0.32-el7-x86_64.tar.gz

为了方便,重命名一下: mv mysql-8.0.32-el7-x86_64 mysql

创建存储数据文件: mkdir mysql/data

创建用户组:groupadd mysql

创建用户: useradd mysql

更改用户和组为mysql

chown -R mysql:mysql /usr/local/mysql

更改权限

chmod -R 755 /usr/local/mysql

3. 配置

3.1 vim /etc/my.cnf

3.2 添加如下配置

[client]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
port = 3306
user = mysql
socket = /usr/local/mysql/data/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
4 初始化mysql

进入mysqld的bin目录: cd /usr/local/mysql/bin

初始化: ./mysqld --initialize --user=mysql

5. 启动mysql

前台启动 ./mysqld_safe

后台启动 ./mysqld_safe &

6 将mysql的路径加入到环境变量

vim /etc/profile

添加如下内容

export PATH=$PATH:/usr/local/mysql/bin(这里跟着的是自己电脑Linux里面mysql的bin目录)

使配置文件生效: source /etc/profile

注意

1. 将mysql加入环境变量是为了以后能够在linux里面任何一个地方进入mysql
2. 进入mysql之后执行以下命令修改密码:

alter user 'root'@'localhost' identified by '123456';

flush privileges;

3. 远程访问linux里面的mysql

进入mysql里面,进入mysql数据库(use mysql;)(这里的mysql是数据库名,代表这是一个数据库,里面存储了许多东西)执行一下命令:

update user set host='%' where user='root';

flush privileges;

4. 关于linux防火墙的命令

关闭防火墙: systemctl stop firewalld;

查看防火墙状态: systemctl status firewalld:

5. 关于进程和网络监测命令

查看进程:

ps -aux

ps -ef

top: 网络监测(q可以退出)

netstat -anp | grep 3306: 查看3306端口是否工作

kill -9 进程号: 可以杀死某一个进程