Linux常用命令
来源:互联网 发布:泡泡堂 mac 编辑:程序博客网 时间:2024/06/02 06:10
目录结构介绍
文件系统
文件系统就是操作管理存储设备或分区上的文件的方法和数据结构;即存储设备上组织文件的方式。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
- fat16(MS-DOS 6.x),每个分区只能值2GB
- fat32(windows 95),不能存放大于4GB的单个文件,性能较弱,容易产生碎片
- ntfs(windows NT,2000/XP/Vista/Win7),提升了fat的稳定性
- ext4(linux),扩展文件系统,是linux下的日志型文件系统
- hfs[+](mac),苹果电脑的文件系统
- exfat(mac/win),可以支持4GB以上的文件,适合于闪存
目录结构
linux和windows的文件系统差别很大,没有C/D/E等盘符,他是从’/’开始的,只有它没有上一级目录,是处于最顶层的目录,倒过来看目结构像一棵树,’/’就相当于树根,因此通常称为根目录。
根目录文件及目录说明
VIM编辑器
简介:是一款终端编辑器vi,后来有了vi的增强版本vim。被誉为终端编辑器之神。
安装:
yum install -y vim
使用:通过不同的模式切换,完成特定的功能
- 正常模式(命令模式),打开文件时的默认模式
命令/操作 功能说明 vim filename打开或新建(需要修改才会真的创建)文件esc从其它模式回到正常模式ZZ(shift + zz)保存退出定位光标 vim filename +10打开文件,将光标定位到第10行vim filename +打开文件,将光标定位到末尾gg定位到首行G定位到尾行ngg定位到第n行,n为行号0 (数字)行首^第一个非空字符$行尾k上j下h左l右ctrl + f向下翻一页ctrl + b向上翻一页ctrl + u向上翻半页ctrl + d向下翻半页删除/复制/粘贴/撤销 yy复制整行y^复制光标到行首y$复制光标到行尾yw复制一个wordyG复制光标到文档尾部ynG/nyG复制到第n行x向右删一个字符X向左删一个字符nx向右删n个字符nX向左删n个字符dd删除光标所在行ndd删除光标开始的n行d0删除光标之前的内容,单行d$删除光标之后的内容,单行dG删除光标至文件末尾的内容d1G删除光标至文件开头的内容p粘贴剪切板中的内容u撤销刚才的操作ctrl + r反撤销- 插入模式(输入模式),从键盘获取内容进行文件内容的编辑会修改,正常模式下输入以下命令即可进入
命令/操作 功能描述 i在光标位置插入I在一行的第一个非空字符处插入a在光标下一个字符插入A在行尾插入o在光标下一行插入空行O在光标上一行插入空行s删除光标所在字符S删除光标行- 编辑模式(尾行模式),在命令模式下输入’:’即可进入,末尾会出现一个’:’
命令/操作 功能说明 :w保存,但是不退出vim:q退出vim:wq保存并退出:w newfile将内容保存到newfile中:w!强制保存:q!强制退出:x保存退出,等价于 :wq,等价于 ZZ:e!放弃修改,重新恢复到修改之前的文本:n跳转到第n行:set nu[mber]显示行号:set nonu[mber]隐藏行号:set tabstop=4tab的空白字符数:set fileencodings=utf-8,gbk文件字符集:set mouse=a启用鼠标:set syntax on/off语法高亮开/关[:]/内容查找内容,n下翻,N上翻,可以不带冒号[:]?内容查找内容,N下翻,n上翻,可以不带冒号:%s/原内容/新内容全文使用新内容替换原内容:m,ns/原内容/新内容使用新内容替换m到n行内的原内容使用配置
- 上面的设置都是单次的,关闭vim就失效了
- 永久配置:在用户的家目录创建.vimrc文件,将配置的内容写入该文件即可
- 配置生效:重启电脑,或使用命令
source ~/.vimrc
man命令
安装:
yum install -y man
简介:man是manual(手册)的简写,提供了标准的帮助文档的查询
使用
help
- 查看命令的帮助文档
- 格式:ls –help
使用命令
命令格式
- 1
- 2
- 3
常见命令
- 目录相关符号
- ls命令选项
- ls -l结果说明
类型权限 | 引用数 | 用户 | 用户组 | 大小 | 月份 | 日 | 时间/年份 | 名称
颜色与类型对应
- 1
- 2
- 3
- 4
- 5
- 6
- 7
扩展
修改yum源
- 1
- 2
- 3
- 4
- 5
文件操作
文件及目录
- 相关命令
- 选项说明
- -f:表示强制,默认删除操作是给予提示,添加此选项就不再提示
- *:表示模糊匹配任意
- -r:删除或拷贝目录时的递归操作
- -p:创建目录时,需要创建中间目录,例:mkdir -p 1/2/3
文件流操作(sed)
格式
- 1
- 2
- 3
指令
- 1
- 2
- 3
- 4
- 5
实例
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
查看文件
- 相关命令
- more和less使用说明
- 显示一屏就会停止
- q退出查看
- 空格下翻一页
- 回车下翻一行
- more查看完毕时会自动退出,而less不会
- less比more多了上下按键单行的查看
- 通常更多的情况是结合管道,如:ls -l /etc | more,将输出的结果作为more的参数
用户和用户组
- 相关命令
- 特殊文件
/etc/passwd,改文件存放了系统中所有的用户信息,一行表示一个用户,具体解释:
- 1
/etc/group,改文件存放了系统中所有的用户组信息,一行表示一个用户组,具体解释:
- 1
/etc/shadow,用户密码文件,依附于/etc/passwd,但是并不是由该文件生成。
- 使用说明
用户以及用户组ID通常要大于500,小于500的系统已占用
- 创建用户时
- 禁止登陆:useradd test -s /sbin/nologin
- 指定UID:useradd test -u 600
- 指定家目录:useradd test -d /xxx/yyy
- 指定用户组:useradd test -g group
- 修改用户shell,chsh test -s /sbin/nologin
- 用户身份标识:普通用户$,超级用户#
- 修改所有者时加’-R’,会进行递归操作
- 在使用用户名和用户组的地方通常可以使用UID和GID替代
文件权限
说明:linux的权限有所有者、所属组、其它的概念
权限:所有文件都涉及,可读(r)、可写(w)、可执行(x),-表示没有对应权限
原理:在ls -l查看的结果集中,第一项表示权限,分为3组,分别对应所有者、所属组、其它
修改文件权限,使用命令chmod,格式:
chmod [身份] [修改] [权限]
- chmod使用说明:-R表示递归操作
本质:使用一组(3位)八进制的数来表示权限,如:0755,详解如下:
- 1
- 2
- 3
- 4
简写:
chmod 0755 1.txt
掩码(umask)
作用:限定了新建文件的默认权限,实际的权限与掩码相反(普通文件减去可执行权限)
命令:umask [value],查看或设置掩码,不加value表示查看
实例分析
- 1
- 2
- 3
命令的修改是临时的,修改配置文件才能永久生效
- 1
- 2
特殊属性
有时候root都无法修改一个文件,多半是添加了特殊权限,可以使用lsattr查看,使用chattr修改,其中最重要的一个权限是保护权限,就是不能更改(immutable),方式误删除
使用实例
- 1
- 2
- 3
- 4
链接文件
命令:ln
作用:创建一个文件或目录的链接
格式:
ln [-s] 原文件 新名称
说明:使用ls -l查看时,文件类型为’l’的就是软链接
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
文件搜索与磁盘管理
文件搜索
find
作用:功能非常强大的搜索命令,可以搜索任意文件
格式:
find [目录] [条件]
选项:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 说明
- 1
- 2
whereis
作用:专门用于搜索应用程序
格式:whereis grep
结果:
- 1
- 2
which
- 作用:在$PATH环境变量中,查找系统命令,能够明确的指明使用的是哪一个
- 例子:which ls
grep
作用:正则表达式搜索
格式:grep [选项] pattern [文件名]
选项:
- 1
- 2
- 说明:
- 1
- 2
- 实例
- 1
- 2
- 3
磁盘管理
基本说明
- 1
- 2
- 3
- 4
- 5
- 6
磁盘挂载
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
磁盘分区
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
分区格式化
- 1
- 2
- 3
- 4
磁盘查看
df
- 1
- 2
- 3
- 4
- 5
du
- 1
- 2
- 3
- 4
PATH
说明:其实就是一个环境变量,类似于windows下的环境变量
查看:echo $PATH
配置:
- 1
- 2
- 3
- 4
管道(|)
说明:将前面命令的输出作为后面命令的输入,中间使用’|’拼接
实例
- 1
- 2
对于不支持管道做为参数的命令,可以使用xargs
- 1
shell脚本
shell是什么?
其实shell就是一个命令解析器,将用户输入的命令解释给系统
常见的shell解析器
sh、bsh、csh、bash(linux默认)、ksh、zsh
交互方式
- 交互式:用户输入一条命令,敲回车,然后shell解析一下
- 脚本式:编写一个shell脚本文件,shell会依次解析并执行
编写脚本
创建一个文件:vim test.sh
输入内容
- 1
- 2
- 3
- 4
- 5
添加可执行权限:chmod +x test.sh
执行shell脚本
- 1
- 2
扩展
安装ntfs-3g以支持nfts文件系统的磁盘挂载
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
系统服务管理
OSI模型
- 概念:七层模型,亦称OSI(Open System Interconnection)参考模型,是参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。
- 七层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
- TCP/IP:简化的OSI模型,共四层:应用层、传输层、网络层、网络接口层
网络服务
- 相关命令
- 相关文件
网卡配置:/etc/sysconfig/network-scripts/ifcfg-eth0
域名解析:/etc/resolv.conf
nameserver 8.8.8.8 #一行表示一个域名解析服务器(DNS)
本地劫持:/etc/hosts 相当于本地的DNS
IP 域名 #一行表示一个
服务监测
netstat
- 1
- 2
free
- 1
- 2
w
- 1
- 2
top
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
vmstat
- 1
- 2
进程管理
ps
- 1
- 2
- 3
- 4
- 5
- 6
kill
- 1
- 2
- 3
- 4
- 5
服务管理
检查配置:chkconfig
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
服务开关:service 服务 start|stop|restart|reload #开启|关闭|重启|重新加载配置
远程会话
场景:当系统管理员远程连接服务器,需要做费时任务,只能干等,因为连接中断服务停止
安装screen命令:
yum install -y screen
使用说明:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
计划任务
说明:让计算机在一定的时间间隔做指定的事情
添加任务
- 修改配置文件/etc/crontab,只能是root,用于给其它用户安排任务,必须指定用户
- 使用crontab命令编辑计划任务文件,每个用户都可以使用,保存在:/var/spool/cron/用户名
配置格式说明
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
crontab命令使用
- 1
- 2
- 3
- 4
系统安全
selinux:是linux下的一套安全机制,非常复杂,通常都需要关闭,否则程序可能会出意想不到的问题
- 1
- 2
- 3
- 4
- 5
- 6
iptables:防火墙,就是在外网和内网之间的一道安全屏障,保证计算机的安全
- 1
它通过设置很多规则,来保证安全,规则有点复杂,了解一下
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
软件安装方式
压缩解压
zip/unzip
- 1
- 2
- 3
- 4
gzip/gunzip
- 1
- 2
- 3
- 4
- 5
bzip2/bunzip2
- 1
- 2
- 3
- 4
- 5
tar
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
rar/unrar
- 1
- 2
- 3
- 4
- 5
- 6
源码安装
基本步骤
- 1
- 2
- 3
实例演示(httpd-2.2.34)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
实例演示(httpd-2.4.27)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
RPM安装
基本说明
- 原来是Redhat Pakage Manager的缩写,现在是RPM Pakage Manager的缩写
- 在linux下大多数软件都有依赖(一个软件需要另一个软件)
- rpm就是这种软件包的后缀
rpm命令
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
实例演示(vim)
- 1
- 2
- 3
YUM安装
基本说明
- 1
- 2
- 3
- 4
- 5
- 6
- 7
更改yum源
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
yum操作
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
安装桌面环境测试
- 1
- 2
- 3
重定向
标准输入(stdin)、标准输出(stdout)、标准错误(stderr)
在linux中创建一个进程,系统会自动创建上面三个数据流,即三个文件
三个文件描述符分别为:0、1、2,都指向终端
重定向就是改变原来默认的表现位置
实例演示
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
文件传输共享
秘钥
说明:秘钥就是一个参数,就是在明文和密文之间转换所传递的参数。
分类:
- 对称秘钥加密:加密和解密使用的秘钥是一样的
- 非对称秘钥加密:使用不同的秘钥进行加密和解密操作
名词
- 秘钥:秘密的钥匙
- 公钥:公开的钥匙
- 私钥:私有的钥匙
主机信任,在使用ssh协议远程连接另一台计算机是需要输入用户名和密码,添加主机信任就是不需要密码就可远程连接,需要配置秘钥对(公钥和私钥)实现,具体步骤如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
scp命令
格式:scp 原文件 目标文件
实例
- 1
- 2
- 3
说明:默认连接远程主机是需要密码的,建立主机信任后即可实现无密码的访问
rsync命令
作用:在本地与本地,本地与远程之间进行数据的同步,备份等操作
使用
安装命令:
yum install -y rsync
基本格式:
rsync [选项] 源地址 目标地址
基本实例:
- 1
- 2
- 选项说明:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
典型应用场景
同步指定的yum源,备份线上服务器的数据等
Samba服务器
基本说明:
- Smaba是在linux或unix系统上实现了SMB协议的一个免费软件
- SMB是一种在局域网之间共享文件或打印机的通讯协议
- SMB协议由服务器和客户端构成
安装步骤
安装:
yum install -y samba samba-client
无密码访问配置:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 有密码访问配置:
- 1
- 2
- 3
- 4
启动管理
- 添加到开机启动:
chkconfig smb on
- 启动控制:
service smb start|stop|restart
- 添加到开机启动:
windows主机测试
- 1
- 2
- 3
- 4
- 5
windows共享文件夹给Linux
在windows下创建一个文件夹(tp5),然后共享之
- 1
- 2
- 3
- 4
在虚拟机中安装:
yum install -y cifs-utils
将windows共享的文件夹挂载到linux指定的目录
- 1
- 2
- 3
- 4
- 5
- 6
FTP服务器
安装依赖:
- 1
下载软件:
wget -c https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.46.tar.bz2解压文件:
- 1
进入目录
- 1
配置
- 1
编译安装
- 1
添加用户管理
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
创建虚拟的用户数据库
- 1
修改配置文件:/usr/local/pureftpd/etc/pure-ftpd.conf
- 1
- 2
启动FTP服务
- 1
- 2
NFS服务器
基本说明
- network file system,网络文件系统,采用的是RPC协议
- RPC是远程过程调用协议
- 也是客户端服务器的结构
安装步骤:
yum install -y nfs-utils
在NFS服务器上修改配置文件:/etc/exports
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
启动服务
- 1
- 2
- 3
- 4
- 5
客户端测试
- 【linux 常用命令】常用命令整理
- linux常用命令
- Linux常用命令
- LINUX 常用命令
- linux常用命令
- Linux 常用命令
- Linux 常用命令
- Linux常用命令
- LINUX常用命令
- Linux 常用命令
- linux常用命令
- Linux常用命令
- Linux常用命令
- Linux 常用命令
- Linux常用命令
- Linux 常用命令
- Linux 常用命令!
- Linux 常用命令
- 休闲食品线上与线下的差异化
- 转载 自己学习的(简单多线程)
- ConcurrentHashMap原理分析
- java 去除数组中重复的元素
- HttpHelper封装类
- Linux常用命令
- Jython调用不包含第三方库的python脚本
- 关于hibernate懒加载异常 以及left fetch on 多级子表关联
- 真格基金、腾讯为什么都看好这家人工智能初创公司?
- padding与margin
- Android Studio之Gradle文件解析1
- Delphi的Dll中获取文件路径
- mjpg-streamer简单解析
- 《产品网事》序