Filecoin java开发环境变量 recursion dynamic hyperlink vue原理 vue部署 vue基础教程 网络营销视频 matlab中axis ajax里面可以嵌套ajax吗 nikto扫描web漏洞 mysql获取当前时间戳 docker启动容器 python3网络编程 python语言入门 python环境安装教程 python使用正则表达式 java入门课程 java成员变量 java创建集合 java泛型方法 java创建目录 俄罗斯方块c语言代码 bat脚本 图解设计模式 xs颜色 python封装 复制到剪贴板 dnf瞎子传说套选择 威纶通触摸屏编程软件 失心迷宫怎么打 3dmax材质编辑器 js数组操作 cpu和显卡怎么搭配 winrar去广告版 外星人r7 方正倩体 方正卡通 电子海图
当前位置: 首页 > 学习教程  > 编程语言

linux常用命令记录

2020/10/8 19:24:55 文章标签:

环境virtualbox , centos6.8 参考尚硅谷韩顺平老师的linux讲课资料 关于Linux的一些基础知识 •Shell 是指“提供使用者使用界面”的软件(命令解析器),类似于DOS下的 command和后来的cmd.exe。它接收用户命令,然后调用相应的应用…

环境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 [值]


本文链接: http://www.dtmao.cc/news_show_250149.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?