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三剑客

相关推荐
xiaozhiwise2 分钟前
Linux ASLR
linux
wellnw2 分钟前
[linux] linux c实现共享内存读写操作
linux·c语言
a_安徒生21 分钟前
linux安装TDengine
linux·数据库·tdengine
东阳马生架构23 分钟前
MySQL原理简介—1.SQL的执行流程
mysql
追风赶月、27 分钟前
【Linux】线程概念与线程控制
linux·运维·服务器
小字节,大梦想30 分钟前
【Linux】重定向,dup
linux
CP-DD41 分钟前
Docker 容器化开发 应用
运维·docker·容器
安迁岚1 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验六 视图
数据库·sql·mysql·oracle·实验报告
xoxo-Rachel1 小时前
(超级详细!!!)解决“com.mysql.jdbc.Driver is deprecated”警告:详解与优化
java·数据库·mysql
blessing。。1 小时前
I2C学习
linux·单片机·嵌入式硬件·嵌入式