所有的Linux 系统都会内建 vi 文本编辑器。
Vim具有程序编辑的能力,可以看做是 Vi 的增强版本 ,可以主动的以字体颜色辨别语法的正确性
方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
vim fileName #打开文件
shutdown -h now #立刻关机
shutdown -h 1 #1分钟后关机
shutdown -r now #立刻重启
shutdown -r 1 #1分钟后重启
halt #立刻关机
reboot #立刻重启
sync #把内存数据写入磁盘:关机和重启前先执行
logout #注销用户:再图形运行级别无效,再运行级别3下有效
su - [username] #切换用户:不输入用户名为切换到root
exit #返回原来的用户
groupadd groupName #添加组
groupdel groupName #删除组:前提是组里没有用户
useradd [-d directory] [-g group] username #添加用户
passwd [username] #修改密码:不指定用户名是给当前登录用户修改
userdel [-r] username #删除用户:-r不保留用户文件目录
id username #查询用户信息
usermod -g newGroup username #修改用户的组
1) 0 :关机
2) 1 :单用户 类似安全模式, 这个模式可以帮助找回 root 密码
3) 2 :多用户状态没有网络服务
4) 3 :多用户状态有网络服务【使用最多】
5) 4 :系统未使用保留给用户
6) 5 :图形界面
7) 6 :系统重启
修改默认运行级别
/ect/inittab
id:5:initdefault:
通过修改inittab文件的更改Linux的默认运行级别
linux init 3 #切换运行级别
找回root密码
启动时:
快速输入 enter 输入 e --> 进入到编辑界面 --> 选择中间有 kernel 项
输入 e(edit) edit)--> 在该行的最后写入 1 [ 表示修改内核,临时生效 ]]--> 输入 enter输入 b [boot] boot]--> 进入到单用模式
man [expression or configFile] #manual:获取命令或配置文件的帮助信息
help expression #获取linux内置命令的帮助信息
pwd #print current/working directory:显示当前目录的绝对路径
ls [options] [dir or file] #list of directory:显示当前目录下的文件和目录
-a #显示当前目录所有的文件和目录,包括隐藏的文件名以.开头就是隐藏 。
-l #以列表的方式显示信息
-h #显示文件大小时,以 k , m, G 单位显示
-R #包含子文件和目录
cd [directory] #change directory:切换到指定目录
/root/bin #绝对路径
../../root/bin #相对路径
cd ~ #回到自己的home路径
cd .. #回到当前目录的上一级
mkdir [options] directory #make directory:创建目录
-p #创建多级目录
rmdir [options] directory #remove directory:删除空目录
-r #递归删除:包含该目录下的文件和子目录
-f #强制删除
touch fileName #创建空文件/更新文件修改时间
cp [options] source dest #copy:复制文件/目录source到指定目录dest
-r #递归复制整个文件夹
mv oldname/srcdir newname/dstdir #移动或重命名文件/目录
rm [options] file/dir #remove:删除文件或目录
-r #递归删除:包含该目录下的文件和子目录
-f #强制删除
cat [options] file #查看文件内容:只读
-n #显示行号
spacce #翻页
enter #下一行
q #退出
|more #管道命令把cat的输出结果交给more处理
more file #基于Vi编辑器的文本过滤器
space #翻页
enter #下一行
q #退出
ctrl+f #向下滚动一屏
ctrl+b #向上滚动一屏
= #输出当前行号
:f #输出当前文件名和当前行号
less file #分屏查看文件内容,功能指令比more更强大,显示大文件更有效率
space #翻页
pagedown #下一页
pageup #上一页
/string #向下查找 n:下一个 N:上一个
?string #向上查找 n:上一个 N:下一个
q #退出
echo [options] [output] #输出内容到控制台
$PATH #环境变量:路径
env #查看系统所有环境变量
vim etc/profile #修改环境变量
head file #显示文件的开头部分内容:默认前10行
-n 5 #查看前5行
tail #显示文件中尾部内容:默认后10行
-n 5 #查看后5行
-f #实时追踪文档的更新
expression > #输出重定向:覆盖写
expression >> #追加
ls -l > info.txt #把列表内容写入info.txt
cat file1 > file2 #把file1的内容覆盖到file2
date >> info.txt #把当前日历信息追加到info.txt
ln [file/dir] [linkName]#link:类似windows中的快捷方式
-s #软链接
rm -rf linkName #删除软连接
history [] #查看已经执行过的历史命令:默认为所有
10 #查看最近10条
!5 #查看历史编号为5的指令
date [options] #显示当前时间
%Y #显示当前年份
%m #显示当前月份
%d #显示当前天
"%Y-%m-%d %H:%M:%S"
date -s [dateString] #设置系统当前时间
cal [options] #查看日历:默认显示本月日历
cal 2020 #显示2020年日历
find [range] [options] name #从指定范围向下递归遍历将满足条件的文件或目录显示在终端
-name #按照指定的文件名查找
-user #查找属于自定用户的所有文件
-size #按照指定的文件大小查找
locate file #快速定位文件的路径
grep [options] lookup source #过滤查找:默认匹配大小写
-n #显示匹配行及行号
-i #忽略字母大小写
expression1 | expression2 #管道符号:把exp1的输出结果交给exp2处理
netstat -anp | gerp sshd #查看当前服务器的sshd监听
gip file #压缩文件:只能压缩为*.gz文件
gunzip file.gz #解压文件
zip [options] name.zip file #压缩file为name.zip
-r #递归压缩:压缩目录
unzip [options] name.zip #解压name.zip
-d directory #指定解压后文件的存放目录
tar [options] name.tar.gz file/dir #打包指令[可以压缩和解压]:打包后的文件是*.tar.gz
-c #产生.tar打包文件
-v #显示详细信息
-f #指定压缩后的文件名
-z #打包同时压缩
-x #解包.tar文件
tar -zcvf a.tar.gz a1.txt a2.txt
文件默认属于其初始创建者
chown username file #修改文件所有者
chgrp group file #修改文件所在组
usermod -g group username #改变用户所在组
usermod -d dir username #改变用户登录的初始目录
权限说明(0-9位):
chmod [expressions] file/dir #修改文件或目录的权限
-u #user:所有者
-g #group:所有组
-o #others:其他人
-a #all:所有人
chmod u=rwx,g=rx,0=x file/dir
chmod o+w
chmod a-x
#r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,0=x file/dir
相当于 chmod 751 file/dir
chown newOwner file #修改文件所有者
chown newOwner:newGroup file #修改用户的所有者和所有组
-r #递归修改:包含目录下的子文件和目录
任务调度:指系统在某个时间执行的特定的命令或程序。
分类:
- 系统工作:有些重要的工作必须重复执行。
- 个别用户工作:个别用户可能希望执行某些程序。
crontab [options] #定时任务设置
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户的所有crontab任务
新建任务:
输入任务到调度文件:
*/l * * * *ls -l /etc/ > /tmp/to.txt #每分钟执行ls -l /etc/ > /tmp/to.txt
#第一个*:一小时当中的第几分钟[0-59]
#第二个*:一天中的第几个小时[0-23]
#第三个*:一个月中的第几天[1-31]
#第四个*:一年中的第几个月[1-12]
#第五个*:一周中星期几[0-7](0和7都是星期日)
#*:代表任何时间
#,:代表不连续的时间
#-:代表连续的时间范围
#*/n:代表每个多久
45 22 * * * #22:45执行命令
0 17 * * 1 #每周一的17:00执行
0 5 1,15 * * #每月1号和15号的05:00执行
创建*.sh文件,并且定时执行来达到某些目的:如备份数据库等。
* 2 * * * * /home/backupdb.sh #每天02:00备份数据库
mbr 分区
1.最多支持四个主分区
2.系统只能安装 在主分区
3.扩展分区要占一个主分区
4.MBR最大只支持 2TB ,但拥有最好的兼容性gtp 分区
1.支持无限多个主分区(但操作系统可能限制,比如 windows 下最多 128 个分区)
2.最大支持 18EB 的大容量( 1EB=1024 PB 1PB=1024 TB
3.windows7 64位以后支持 gtp
Linux硬盘分 IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘。
对于IDE 硬盘,驱动器标识符为“ hdx~ 其中“ hd ”表明分区所在设备的类型,这里是指 IDE 硬盘了。“ x ”为盘号 a 为基本盘, b 为基本从属盘, c 为辅助主盘, d 为辅助从属盘) ),“~”代表分区,前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区。例, hda3 表示为第一个 IDE 硬盘上的第三个主分区或扩展分区 ,hdb2 表示为第二个 IDE 硬盘上的第二个主分区或扩展分区。
对于SCSI 硬盘则标识为“ sdx~“ ,SCSI 硬盘是用“ sd ”来表示分区所在设备的类型的,其余则和IDE 硬盘的表示方法一样。 sdb1 [ 表示第 2 块 scsi 硬盘的第 1 个分区。
lsblk/lsblk -f #查看所有设备的挂载情况
df -h #查询整体磁盘使用情况
du [options] [dir] #disk used:查询指定目录的磁盘占用情况:默认当前目录
-s #指定目录占用大小汇总
-h #带计量单位
-a #含文件
--max-depth=1 #子目录深度
-c #列出明细的同时,增加汇总值
ls -l /home/ | grep "^-" | wc -l #统计/home文件夹下文件的个数
tree /home #以树状图的形式显示home目录
vim /etc/sysconfig/network-scripts/ifcfg-eth0 #配置固定的ip地址
reboot #配置生效
service network restart #重启网络服务
vim /etc/sysconfig/network #修改主机名:hostname[名称里不要有下划线],重启设备生效
1) 在 LINUX 中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个 ID 号。
2) 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如www 服务器。
3) 每个进程都可能以两种方式存在的。前台与后台 ,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行 [sshd ,crond] 。
4) 一般系统的服务都是以后台进程的方式存在 ,而且都会常驻在系统中。直到关机才才结束。
ps -aux #显示所有进程
kill [options] pid
killall name
-9 #强制终止
killall gedit #终止多个gedit编辑器
pstree [options] #查看进程树
-p #显示pid
-u #显示进程所属用户
service serviceName [start|stop|restart|reload|status] #服务管理在CentOS7.0 后 不再使用 service 而是 systemctl
chkconfig [options] serviceName [on/off] #给服务的各个运行级别设置自动启动/关闭
chkconfig --list #查看所有服务
chkconfig --level 5 serviceName on/off
chkconfig iptables off #关闭所有级别的iptables
top [options] #动态更新正在进行的进程状态
-d #设置刷新间隔的秒数:默认是3秒
-i #不显示任何闲置或者僵死进程
-p #通过指定id来监控某个进程的状态
P #cpu使用率排序:默认
M #以内存的使用率排序
N #以PID排序
q #退出
u enter username #监视指定用户
k enter pid #终止指定进程
netstat [options] #监控网络状态
-an #按一定顺序排列输出
-p #显示哪个进程在调用
netstat -tlnp #查看当前系统有哪些端口在监听
指令说明:
原文:https://www.cnblogs.com/alyiacon/p/12459352.html