Linux常用命令

文章目录

一、Linux系统的简单介绍

Linux是一款免费的操作系统,用户可以通过网络或者其他途径免费获得,并可用任意修改其源代码。这是其他的操作系统所做不到的。

特点:

1,完全免费

2,多用户,多任务

3,支持多种平台

1、入门须知:

1,linux命令是区分大小写的,如果没有特别的说明,保持小写

2,命令之间是有空格的,不要挤在一块

3,命令不是语文,背背就好,而是需要我们动手去敲,每天每个命令敲十遍,到最后,你自己能背出来这些命令是干啥的就好了。

2、新手须知
  • 1,错误提示:command not found,命令没有找到,看到这个命令第一反应应该是去检查命令是不是写错了(应该是ifconfig:获取虚拟机地址)

    PS:

    Ctrl+c 结束当前正在运行的程序

    tab键 使用,自动关联,快速补齐

    方向键"上","下",对历史命令,上一个,下一个进行查找,

  • 2,xshell连接不上:

    ①,ip地址变了

    ②,防火墙未关闭

  • 3,乱码

    编码格式改为UTF-8

  • 4,xshell和xftp是什么?

    连接虚拟机,这样就可以直接操作了,免去切换的麻烦

    登录成功显示:

    @是固定符号,root表示当前登录用户名(root是超级管理员),@后面的192表示主机名,"~"表示当前用户的主目录,因为每个用户都有自己的个人目录地址,所以用 ~ 作为统一替代这个根据用户不同而不同但有规可循的地址,来保证某些情况下的兼容问题

  • 系统管理相关命令

    1,su:(switch user)在不退出登陆的情况下,切换到另一个用户的身份。

    管理员账号切换为普通用户账号无需输入密码,普通用户切换管理员需要输入密码

    #超级用户提示符

    $普通用户提示符

  • 5,uname -a查看系统的位数(Unix name系统名称)

    x86_64:64位系统

    i386之类i开头的:32位系统

  • 6,ifconfig:显示网卡信息--查看虚拟机的IP地址

  • 7,ping:测试网络连通情况

    ping+ip地址/域名

  • 8,date:显示日期

    修改时间:date -s 时间或者日期

  • 9,kill:杀死进程(kill -进程号 ,如kill -9 强制杀死进程)

  • 10,pwd:print working Directory 打印当前所在目录

  • 11,cd命令 切换目录(change directory)

    用法:cd 目录路径

    cd /usr/etc("/"表示系统根目录,要查看文件,首先需要从根目录进入,才能查看,就像是要查看d盘的一个文件,要先进入d盘。就是说往上级要带/,往下级不需要带/)

  • 12,mkdir 创建目录(make directory)

    用法:mkdir 目录名

    创建(mkdir 目录名)并查看(ll)

  • 13,rmdir 删除空目录(remove directory)

    用法:rmdir 目录名

    也可用:rm -rf 目录名(目录/文件都可以删除,空的和非空的都可以删除)

  • 14,touch:新建文件

    用法:touch lemon.txt(后缀可随意格式)

  • 15,vi:是linux下常用的,功能强大的文本编辑器

    调用方法:vi a.txt(如果a.txt不存在,则创建,保存退出则创建成功)

    按键盘i(insert)进入编辑状态

    退出编辑按ESC键,退出方法:

    不保存退出: :q!

    保存退出: :wq(write and quit)

输入/,进入搜索,输入你需要搜索的文字,按enter

输入":set nu",显示每一行的行数

按键盘G定位到最后一行,g定位到第一行

按键盘u撤销上一次的命令
注意:键盘输入,都是英文输入法进行输入

在linux系统中,几乎所有内容包括文档,命令,设备和目录等都组织成文件的形式,用文件来管理,常用的文件命令有:

  • 16,ls查看目录及文件(list列出目录内容)
    用法:ls[选项]<路径>(若没有路径则显示当前目录的内容)
    -a 显示所有文件,包含隐藏的文件
    -l 显示文件属性(等同ll命令)
  • 17,cp 复制命令(copy复制黏贴)
    用法:cp[选项,可选可不选]<文件名或目录><目标地址>(只复制当前目录,不包括目录下的子文件)
    -R 拷贝目录及目录下所有目录和文件(复制当前目录和目录下子文件)

cp a.txt b.txt 将a文件复制,且另命名为b文件(目录名)

  • 18,mv 移动命令(move,类似于剪切黏贴)
    用法:mv[选项]<文件名或目录><目标地址>
    mv a.txt.../ 将a文件移动到上级目录

mv a.txt b.txt 将a文件改为b文件(目录名更改)

  • 19,rm 删除文件或目录(i:操作时进行查询,rm -i等同rm)

    -f 强制删除

    -r 删除目录

    常用:rm -rf 文件或目录

  • 20,find命令查找文件

    用法:find[路径][选项]关键字

    常用选项有:

    find.-name *.log 在当前目录查找以.log结尾的文件

    find /-name log 在根目录查找log命名的目录,

  • 21,grep命令(检索目标行命令)

    功能:过滤,在指定文件中查找字符(串)并打印该行;经常跟管道符号"|"配合使用

    用法:grep 字符串 文件名

    grep band file 在file文件中寻找band字符串

  • 22,cat:一次显示整个文件(Concatenate 串联)

    用法:cat 文件名 cat filename

  • 23,more:用于显示内容超过一屏的文件

    用法:more 文件名 (只能往后翻,用空格键往后翻一页,回车键一行行下翻)

  • 24,less:用于显示内容超过一屏的文件

    用法:less 文件名

    (可以往前往后翻,空格键往后翻一页,回车键一行行下翻,按下b键往上翻一页,按Q结束)

  • 25,head:查看前几行 用法:head -n 5 文件名(查看前五行信息

  • 26,tail (尾部)从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便的查阅正在改变的日志文件

    tail -n 5 文件名 查看后几行

    tail -f error.log 不断刷新,看到最新内容
    管道符号
    管道使用"|"符号,并且在命令之间建立管道,将前面命令的输出作为后面命令的输入

    如,ll |grep abc(前面是字母L的小写)

    管道前面的命令显示当前目录下的文件,后面从列出的文件名中寻找含有abc字符串

二、工作常见情况:杀进程,查看端口占用,查看日志

  • 1、杀死服务进程
    ps -ef|grep tomcat(Process Status 进程状态,-e:显示所有程序,-f :显示uid,ppid,c与stime栏位)

    kill -9 pid(服务停止后前端是访问不了的)
  • 2、查看端口占用,干掉这个程序
    netstat -apn|grep 8080 查找出对应的进程名及pid

    ps -aux|grep 进程名 查找被哪个程序占用
    kill -9 pid 干掉这个程序
  • 3、查看实时日志 指定查看关键字信息
    tail -f error.log|grep 用户id

三、系统资源查询

1、ps查看进程(Processes Status动态)
  • -aux 显示系统所有进程,包含其他使用者的进程
    • user 进程拥有者pid:进程id%cpu:cpu占比例,%mem:内存占用率
    • vsz:占用的虚拟内存大小,rss:占用内存大小,tty:终端号,stat:进程状态(s 中断,sleeping)
    • start:进程开始的时间,time:执行的时间,command:所执行的命令
  • -ef 显示所有运行进程,并显示启动进程的命令
    • Uid:用户ID,PID:进程id,PPID:父进程,C:进程cpu占有率,Stime:进程启动的时间
    • TTY:终端号,CMD:命令名称和参数
2、netstat 在内核中访问网络及相关信息的命令(net status的简写)

netstat -apn 查看所有端口

netstat -tulpn(更推荐使用这个,显示网络连接数量最少,同时显示最有价值的信息) / netstat -ano

3、kill

top查看进程(动态,cpu,内存使用情况,按使用资源情况排序:性能监控命令)

PR:优先级;NI:nice值,nice值为正表示优先级低,负值表示优先级高;

VIRT:进程使用的虚拟内存总量;RES:进程使用的,未被换出的物理内存大小;

SHR:共享内存大小;S:进程状态;TIME+: 进程使用的CPU时间总计;COMMAND:命令名/命令行。

四、 权限赋予命令

数字表示法:4-读(r,read),2,-写(w write),1-执行(x,execute)

将这几个数字任意两个或者三个相加可得到相应的多种权限

如,6-读写,3-写的执行,7-读,写,执行

例:chmod 600 filename 为用户自己增加读写权限,其他任何用户没有任何权限。其中

第一个位置的值6是用户自己的权限为读写,第二个位置的0代表所属用户所在组内用户没有权限,第三个位置的0代表所在组之外其他用户没有权限

chmod 777-R 文件及目录名(表示更改三个所属组的权限)

-R表示遍历文件夹下面所有的子目录以及文件

chmod是赋值符(Change mode 改变模式)

0表示没有权限

五、chown:更改对应文件或目录的属主或用户组

具体命令:# chown 新属主账户名:组名 目录名--> # chowm d1:developer dev-document

调整文件的访问权限;

$ vim code.md --> 创建文本文件

命令:$ chmod 770 code.md

让一个用户拥有两个以上用户组的方法:命令:# usermod -G developer,testor d1 (修改用户组时会先将之前的用户组删掉,重新分配)注意,修改用户的用户组后,需要退出重新登录。切换用户组命令:$ newgrp testor

六、安装命令

yum自动下载安装(前提:能访问外网,可以先ping下:ping www.baidu.com

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum[操作][package]

如:yum -y install mysql-server

rpm安装

rpm -ivh软件包名 (ivh:安装显示安装进度)

rpm -ivh MySQL-server-4.0.14-0.i386.rpm

七、 解压命令

tar(Tape archive 解压文件)

-c 建立压缩档案

-x 解压

-z (有gzip属性)-j(有bz2属性)-Z(有compress属性的)

-v 显示所有过程

-f 使用档案名字,必须项,是最后一个参数,接文件名

解压 tar -zxvf abc.tar.gz(常用形式)将abc.tar.gz解压到当前目录

压缩tar -zxvf test.tar.gz. test 将test目录压缩为test.tar.gz

总结

*.tar用tar -xvf解压
tar.gz和 .tgz用tar -xzvf解压

*.gz用gzip -d或者gunzip解压

*.zip用unzip解压

八、关闭防火墙

  1. 防火墙是借助硬件和软件对内外部网络环境的保护措施
  2. centos7基于firewall实现应用层防火墙,功能更加强大。centos6基于iptables
    即时生效,重启后失效
1、centos7命令:

firewall -cmd是firewall的核心命令

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

查看防火墙允许的端口号:firewall-cmd --list-ports

采用tcp方式进行通信时,设置防火墙允许访问的端口号是8080 : firewall-cmd --zone=public --permanent --add-port=8080/tcp

zone:访问区域:防火墙默认区域,表示都允许访问

permanent :表示永久进行变更

add-port:添加端口号

对防火墙进行配置重载 : firewall-cmd --reload(永久变更的都需要有这一步操作,无论添加还是移除!!)

查看允许访问的端口号: firewall-cmd --list-ports

放行已有单个端口号: firewall-cmd --zone=public --permanent --remove-port=8080/tcp

放行范围内的端口号:firewall-cmd zone=public --permanent --remove-port=8000-9000/tcp

2、centos6命令:

开启:service iptables start

关闭:service iptables stop

3、永久关闭防火墙(输入这个以后还需要做其他设置,有时候也会出现重启后失效的情况)

开启:chkconfig iptables on (其他设置)

关闭:chkconfig iptables off

重启和关闭命令

重启命令:reboot

4、reboot

其它还有:shutdown -r now

关机命令:halt

其它:shutdown -h now(推荐)

poweroff

强制执行某个操作 sudo

sudo mkdir xxx

查询 man

man ls

九、 MySQL------自动下载安装MySQL客户端

1、安装与连接数据库步骤

数据库是用来组织,存储和管理数据的仓库

  • 1,安装数据库:执行命令yum -y install mysql-server

  • 2,启动数据库:安装完毕,执行命令service mysqld start(不要忘记加d!!)

    • 停止数据库 service mysqld stop
    • 查看状态 service mysqld status
  • 3,登录数据库:mysql -u root -p 回车后输入密码,再按回车就可以进入了(mysql的默认用户名是root,密码为空)

  • 4,使用数据库:登录成功切换到mysql数据库,输入:use mysql;

  • 5,连接数据库:使用Navicat for MySQL连接数据库

    • 1、从user表中查询所有可以登陆的用户以及支持连接的主机:select user,host,password from user;(记得mysql语句都是分号结束的)

    • 2、User表host字段的值为%或者localhost时的区别

    • 3、新建root用户,并给此用户赋予所有数据库和以及所有对象的操作权限,这个赋权语句里的%代表支持任意主机连接到mysql服务器,这样的话用navicat这个客户端肯定就没问题了,赋权语句为grant all privileges on . to 'root'@'%' identified by '123456' with grant option;(意思:赋予所有操作权限给用户root,并定义密码为123456)

      • 1,"." : 第一个""表示数据库,第二个" "表示表,两个加在一起表示所有数据库对应所有的表。
        如果替换为mysql.test,表示只赋权给mysql底下的test表。
      • 2,%表示客户端设置的权限为任意主机。
      • 3,all privileges 表示所有权限,包括增删改查,索引等。也可以只赋予查询select权限。
        flush privileges;-- 赋权完毕后记得刷新权限
    • 4,如果连接不上,记得关闭防火墙!!

    • 5,设置开机启动

      MySQL------卸载yum命令安装的mysql

      yum命令卸载安装的mysql

      yum -y remove mysql*

查找mysql安装文件 find / -name mysql

用rm -rf删除查找出mysql文件

2、注意点
  • 1,sql语句要用分号结束,英文输入法
  • 2,service mysqld start/stop mysql服务的启动/关闭
    注意是关闭虚拟机内部的服务,理清下xshell与虚拟机的关系
3、 用Navicat客户端连接mysql服务器

创建连接

  • 1,填写虚拟机ip
  • 2,填写用户名和密码
  • 3,连接测试
4、 连接不上的可能原因
  • 1,连接信息未填写正确
  • 2,虚拟机未启动mysql服务
  • 3,虚拟机防火墙未关闭

十、Linux常用命令之统计命令

Linux常用命令之统计命令

十一、linux三剑客

linux三剑客

相关推荐
LKAI.16 分钟前
搭建Elastic search群集
linux·运维·elasticsearch·搜索引擎
正在走向自律1 小时前
阿里云ESC服务器一次性全部迁移到另一个ESC
服务器·阿里云·云计算
gywl2 小时前
openEuler VM虚拟机操作(期末考试)
linux·服务器·网络·windows·http·centos
青木沐2 小时前
Jenkins介绍
运维·jenkins
WTT00112 小时前
2024楚慧杯WP
大数据·运维·网络·安全·web安全·ctf
苹果醋32 小时前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
了一li3 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
日记跟新中3 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
唐小旭3 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python