linux常用命令记录

环境virtualbox , centos6.8
参考尚硅谷韩顺平老师的linux讲课资料

关于Linux的一些基础知识

•Shell
是指“提供使用者使用界面”的软件(命令解析器),类似于DOS下的
command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序
•sudo命令
sudo是ubuntu中一种权限管理机制,管理员可以授权给一些普通用户去执行一
些需要root权限执行的操作。当使用sudo命令时,就需要输入您当前用户的密码
•输入密码
在Linux的终端中输入密码,终端是不会显示任何你当前输入的密码,也不会提
示你已经输入了多少字符密码,读者不要误以为键盘没有响应
•输入法中英文切换
linux中英文的切换方式是使用键盘“shift”键来切换,也可以点击顶部菜单的输
入法按钮进行切换。 Ubuntu自带的Sunpinyin中文输入法已经足够读者使用

Vi和Vim编辑器

正常模式:
插入模式i
离开vim::q :q! :wq
快捷键使用练习:

  1. 拷贝当前行 yy , 拷贝当前行向下的5行 5yy,并粘贴。
  2. 删除当前行 dd , 删除当前行向下的5行 5dd
  3. 在文件中查找某个单词 [命令行下 /关键字 , 回车 查找 , 输入 n 就是查找下一个 ]
  4. 设置文件的行号,取消文件的行号.[命令行下 : set nu 和 :set nonu]
  5. 编辑 /etc/profile 文件,使用快捷键到底文档的最末行[G]和最首行[gg]
  6. 在一个文件中输入 “hello” ,然后又撤销这个动作 u
  7. 编辑 /etc/profile 文件,并将光标移动到 20行 shift+g
  8. 更多的看整理的文档

开机、重启和用户登录注销

预备工作sync内存内容写入磁盘
shutdown -h now关机halt
shutdown -r now重启reboot
切换系统管理员,输入su,密码
注销exit(centos可能用logout)

用户管理

切换用户
su 用户名

添加用户
基本语法
useradd 用户名

指定/修改密码
基本语法
passwd 用户名

删除用户
基本语法
userdel 用户名

查询用户信息指令
基本语法
id 用户名

实用指令
指定运行级别
在这里插入图片描述
帮助指令
man [命令或配置文件] 应用man ls
help 命令 应用help cd
文件目录类
pwd 显示当前工作目录的绝对路径

ls指令
• 基本语法
ls [选项] [目录或是文件]
• 常用选项
-a :显示当前目录所有的文件和目录,包括隐藏的。
-l :以列表的方式显示信息

cd 切换到指定目录
cd ~ 或者cd :回到自己的家目录
cd … 回到当前目录的上一级目录

mkdir创建目录
mkdir [选项] 要创建的目录
-p创建多级目录

rmdir删除空目录
rmdir [选项] 要删除的空目录
如果需要删除非空目录,需要使用 rm -rf 要删除的
touch创建空文件
touch 文件名称

cp拷贝文件到指定目录
cp [选项] source dest
-r 递归覆盖整个文件夹

rm移除文件或目录
rm [选项] 要删除的文件或目录
-r 递归删除
-f 强制删除不提示

mv移动文件与目录或重命名
mv ldfnamefile newnamefile
mv /temp/movefile /targetFolder

cat 查看文件内容
cat [选项] 要查看的文件
-n :显示行号
ps:cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
more 要查看的文件
在这里插入图片描述
less指令用来分屏查看文件内容。
并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
less 要查看的文件
在这里插入图片描述

echo输出内容到控制台。
echo [选项] [输出内容]

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
head 文件 查看文件头10行内容
head -n 5 文件 查看文件头5行内容

tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。

  1. tail 文件 (功能描述:查看文件头10行内容)
  2. tail -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
  3. tail -f 文件 (功能描述:实时追踪该文档的所有更新)

输出重定向和 >> 追加

  1. ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
  2. ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
  3. cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
  4. echo “内容”>> 文件

ln 指令
软链接也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径
• 基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)

history
查看已经执行过历史命令,也可以执行历史指令

时间日期类

date指令-显示当前日期

  1. date (功能描述:显示当前时间)
  2. date +%Y (功能描述:显示当前年份)
  3. date +%m (功能描述:显示当前月份)
  4. date +%d (功能描述:显示当前是哪一天)
  5. date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)
    在这里插入图片描述
    设置日期
    • 基本语法
    date -s 字符串时间
    • 应用实例
    案例1: 设置系统当前时间 , 比如设置成 2020-11-11 11:22:22

cal指令
查看日历指令

搜索查找类

find指令
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终
端。
• 基本语法
find [搜索范围] [选项]
• 选项说明
在这里插入图片描述
在这里插入图片描述

locate指令,快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
• 基本语法
locate 搜索文件
• 特别说明
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。

grep指令和 管道符号 |
grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的
• 基本语法
grep [选项] 查找内容 源文件
• 常用选项
在这里插入图片描述

压缩和解压类

gzip压缩
gunzip解压
gzip 文件
gunzip 文件.gz

zip压缩
unzip解压
zip [选项] xxx.zip
-r递归
unzip [选项] xxx.zip
-d 指定解压后文件存放目录

tar打包目录
tar [选项] xxx.tar.gz 打包内容

选项功能
-c产生.tar打包文件
-v显示详细信息
-f指定压缩后的文件名
-z打包同时压缩
-x解包.tar文件

组管理和权限管理

修改文件所有者
• 指令:chown 用户名 文件名

组的创建
groupadd 组名

文件/目录 所在组
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。
查看文件的所有者
指令:ls –ahl
修改文件所在的组
chgrp 组名 文件名
改变用户所在组

  1. usermod –g 组名 用户名
  2. usermod –d 目录名 用户名 改变该用户登陆的初始目录。

权限基本介绍

在这里插入图片描述
第一个字符代表文件类型: 文件 (-),目录(d),链接(l)
r 读取查看
w 可以修改
x 执行

修改权限-chmod
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)

  1. chmod u=rwx,g=rx,o=x 文件目录名
  2. chmod o+w 文件目录名
  3. chmod a-x 文件目录名
    第二种方式:通过数字变更权限
    r=4 w=2 x=1 rwx=4+2+1=7
    chmod u=rwx,g=rx,o=x 文件目录名
    相当于 chmod 751 文件目录名
    在这里插入图片描述

修改文件所有者-chown
chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组
-R 如果是目录 则使其下所有子文件或目录递归生效

修改文件所在组-chgrp
chgrp newgroup file 改变文件的所有组

crond 任务调度
crontab [选项]
在这里插入图片描述
crond 相关指令:

  1. conrtab –r:终止任务调度。
  2. crontab –l:列出当前有那些任务调度
  3. service crond restart [重启任务调度]

快速入门
设置任务调度文件:/etc/crontab
设置个人任务调度。执行crontab –e命令。
接着输入任务到调度文件
如:*/1 * * * * ls –l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行ls –l /etc/ > /tmp/to.txt命令
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Linux磁盘分区、挂载

查看所有设备挂载情况
命令 :lsblk 或者 lsblk -f

挂载的经典案例
1.在【虚拟机】菜单中,选择【设
置】,然后设备列表里添加硬盘,
然后一路【下一步】,中间只有
选择磁盘大小的地方需要修改,
至到完成。然后重启系统(才能
识别)!
2.分区命令 fdisk /dev/sdb
开始对/sdb分区
• m 显示命令列表
• p 显示磁盘分区 同 fdisk –l
• n 新增分区
• d 删除分区
• w 写入并退出
3.分区命令:mkfs -t ext4 /dev/sdb1
其中ext4是分区类型
4.挂载: 将一个分区与一个目录联系起来,
• mount 设备名称 挂载目录
• 例如: mount /dev/sdb1 /newdisk
• umount 设备名称 或者 挂载目录
• 例如: umount /dev/sdb1 或者 umount /newdisk
5.永久挂载: 通过修改/etc/fstab实现挂载
添加完成后 执行mount –a 即刻生效
• 用命令行挂载重启后会失效

查询指定目录的磁盘占用情况
• 基本语法
du -h /目录
查询指定目录的磁盘占用情况,默认为当前目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值

网络配置

Ubuntu软件操作的相关命令

sudo apt-get update 更新源
sudo apt-get install package 安装包
sudo apt-get remove package 删除包
sudo apt-cache search package 搜索软件包
sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package --reinstall 重新安装包
sudo apt-get -f install 修复安装
sudo apt-get remove package --purge 删除包,包括配置文件等
sudo apt-get build-dep package 安装相关的编译环境
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-cache depends package 了解使用该包依赖那些包
sudo apt-cache rdepends package 查看该包被哪些包依赖
sudo apt-get source package 下载该包的源代码
下载地址https://mirrors.tuna.tsinghua.edu.cn/ubuntu/

使用ssh远程登录Ubuntu
SSH为Secure Shell的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;
SSH 为建立在应用层和传输层基础上的安全协议。
使用SSH服务,需要安装相应的服务器和客户端。客户端和服务器的关系:如果,A机器想
被B机器远程控制,那么,A机器需要安装SSH服务器,B机器需要安装SSH客户端。
和CentOS不一样,Ubuntu默认没有安装SSHD服务,因此不能进行远程登录。
sudo apt-get install openssh-server
service sshd restart
执行上面的指令,就启动了 sshd 服务。会监听端口22

使用ssh远程登录Ubuntu
ssh 用户名@IP
例如:ssh atguigu@192.168.188.130
使用ssh访问,如访问出现错误。可查看是否有该文件 ~/.ssh/known_ssh 尝试删除该文件
解决。
• 登出
登出命令:exit或者logout

进程管理(important)

基本介绍
  1. 在LINUX中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一
    个ID号。
  2. 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例
    如www服务器。
  3. 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目
    前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法
    看到的进程,通常使用后台方式执行。
  4. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到
    关机才才结束。
显示系统执行的进程

基本介绍
ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。
在这里插入图片描述
ps详解
指令:ps –aux|grep xxx ,比如看看有没有sshd服务

终止进程kill和killall

是某个进程执行一半需要停止时,或是已消了很大的系统资源时
基本语法:
kill [选项] 进程号(功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
常用选项:
-9 :表示强迫进程立即停止

查看进程树pstree
基本语法:
pstree [选项] ,可以更加直观的来看进程信息
常用选项:
-p :显示进程的PID
-u :显示进程的所属用户

服务(service)管理

service管理指令:
service 服务名 [start | stop | restart | reload | status]
例如关闭防火墙 service iptables stop
在CentOS7.0后 不再使用service ,而是 systemctl

查看或者修改默认级别: vi /etc/inittab
Linux系统有7种运行级别(runlevel):常用的是级别3和5
• 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
• 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
• 运行级别2:多用户状态(没有NFS),不支持网络
• 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
• 运行级别4:系统未使用,保留
• 运行级别5:X11控制台,登陆后进入图形GUI模式
• 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
开机的流程说明:

在这里插入图片描述
chkconfig指令
• 介绍
通过chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭
• 基本语法

  1. 查看服务 chkconfig --list|grep xxx
  2. chkconfig 服务名 --list
  3. chkconfig --level 5 服务名 on/off
动态监控进程

top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top
在执行一段时间可以更新正在运行的的进程。
基本语法:
top [选项]
在这里插入图片描述

监控网络状态

查看系统网络情况netstat
• 基本语法
netstat [选项]
• 选项说明
-an 按一定顺序排列输出
-p 显示哪个进程在调用

RPM 与 YUM

rpm包的管理

一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。

rpm包的简单查询指令:
查询已安装的rpm列表 rpm –qa|grep xx
rpm包的其它查询指令:
rpm -qa :查询所安装的所有rpm软件包
rpm -qa | more
rpm -qa | grep X [rpm -qa | grep firefox ]

rpm -q 软件包名 :查询软件包是否安装
rpm -q firefox

rpm -qi 软件包名 :查询软件包信息
rpm -qi file

rpm -ql 软件包名 :查询软件包中的文件
rpm -ql firefox

rpm -qf 文件全路径名 查询文件所属的软件包
rpm -qf /etc/passwd
rpm -qf /root/install.log

卸载rpm包:

• 基本语法
rpm -e RPM包的名称

安装rpm包:

• 基本语法
rpm -ivh RPM包全路径名称
• 参数说明
i=install 安装
v=verbose 提示
h=hash 进度条

yum

Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。

yum的基本指令
• 查询yum服务器是否有需要安装的软件
yum list|grep xx软件列表
• 安装指定的yum包
yum install xxx 下载安装

Linux之JavaEE定制篇

安装JDK
测试是否安装成功
Eclipse的安装
mysql的安装

Linux之大数据定制篇

Shell编程

编写Shell程序来进行服务器管理。
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

Shell脚本的执行方式
脚本格式要求

  1. 脚本以#!/bin/bash开头
  2. 脚本需要有可执行权限
    编写第一个Shell脚本
    • 需求说明
    创建一个Shell脚本,输出hello world!
    脚本的常用执行方式
    • 方式1(输入脚本的绝对路径或相对路径)
    1)首先要赋予helloworld.sh 脚本的+x权限
    2)执行脚本
    • 方式2(sh+脚本)
    说明:不用赋予脚本+x权限,直接执行即可。

Shell的变量
Shell的变量的介绍
1)Linux Shell中的变量分为,系统变量和用户自定义变量。
2)系统变量:$ H O M E 、 HOME、 HOMEPWD、 S H E L L 、 SHELL、 SHELLUSER等等
比如: echo $HOME 等等…
3)显示当前shell中所有变量:set
shell变量的定义
• 基本语法
1)定义变量:变量=值
2)撤销变量:unset 变量
3) 声明静态变量:readonly变量,注意:不能unset
• 快速入门
案例1:定义变量A
案例2:撤销变量A
案例3:声明静态的变量B=2,不能unset
案例4:可把变量提升为全局环境变量,可供其他shell程序使用

shell变量的定义
• 定义变量的规则

  1. 变量名称可以由字母、数字和下划线组成,但是不能以数字开头。
  2. 等号两侧不能有空格
  3. 变量名称一般习惯为大写
    • 将命令的返回值赋给变量
    1)A=ls -la 反引号,运行里面的命令,并把结果返回给变量A
    2)A=$(ls -la) 等价于反引号
设置环境变量
基本语法
  1. export 变量名=变量值 (功能描述:将shell变量输出为环境变量)
  2. source 配置文件 (功能描述:让修改后的配置信息立即生效)
  3. echo $变量名 (功能描述:查询环境变量的值)
位置参数变量

当执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量
比如 : ./myshell.sh 100 200 , 这个就是一个执行shell的命令行,可以在myshell 脚本中获取到参数信息
基本语法
$n (功能描述:n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数,十以上的参
数需要用大括号包含,如${10}
$* (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)
$@(功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)
$#(功能描述:这个变量代表命令行中所有参数的个数)

预定义变量

基本介绍
就是shell设计者事先已经定义好的变量,可以直接在shell脚本中使用
基本语法
$$ (功能描述:当前进程的进程号(PID))
$! (功能描述:后台运行的最后一个进程的进程号(PID))
$? (功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正
确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)

运算符

基本介绍
学习如何在shell中进行各种运算操作。
基本语法

  1. $((运算式))”或“$[运算式]
  2. expr m + n
    注意expr运算符间要有空格
  3. expr m - n
  4. expr *, /, % 乘,除,取余
条件判断

判断语句
• 基本语法
[ condition ](注意condition前后要有空格)
#非空返回true,可使用$?验证(0为true,>1为false)
判断语句
• 常用判断条件

  1. 两个整数的比较
    = 字符串比较
    -lt 小于
    -le 小于等于
    -eq 等于
    -gt 大于
    -ge 大于等于
    -ne 不等于
  2. 按照文件权限进行判断
    -r 有读的权限
    -w 有写的权限
    -x 有执行的权限
    3)按照文件类型进行判断
    -f 文件存在并且是一个常规的文件
    -e 文件存在
    -d 文件存在并是一个目录

if 判断
• 基本语法
if [ 条件判断式 ];then
程序
fi
或者
if [ 条件判断式 ]
then
程序
elif [条件判断式]
then
程序
fi

case语句
• 基本语法
case $变量名 in
“值1”)
如果变量的值等于值1,则执行程序1
;;
“值2”)
如果变量的值等于值2,则执行程序2
;;
…省略其他分支…
*)
如果变量的值都不是以上的值,则执行此程序
;;

for循环
• 基本语法1
for 变量 in 值1 值2 值3…
do
程序
done
• 应用实例
案例1 :打印命令行输入的参数
• 基本语法2
for (( 初始值;循环控制条件;变量变化 ))
do
程序
done

while循环
• 基本语法1
while [ 条件判断式 ]
do
程序
done

read读取控制台输入

基本语法
read(选项)(参数)
选项:
-p:指定读取值时的提示符;
-t:指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待了。。
参数
变量:指定读取值的变量名

函数

系统函数
• basename基本语法
功能:返回完整路径最后 / 的部分,常用于获取文件名
basename [pathname] [suffix]
basename [string] [suffix] (功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)
字符,然后将字符串显示出来。
选项:
suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。

• dirname基本语法
功能:返回完整路径最后 / 的前面的部分,常用于返回路径部分
dirname 文件绝对路径 (功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),
然后返回剩下的路径(目录的部分))

自定义函数
• 基本语法
[ function ] funname[()]
{
Action;
[return int;]
}
调用直接写函数名:funname [值]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值