首页 > 系统服务 > 详细

Linux基础操作命令

时间:2020-03-10 23:55:57      阅读:112      评论:0      收藏:0      [点我收藏+]

Linux基础命令操作

1. Vi和Vim

所有的Linux 系统都会内建 vi 文本编辑器。
Vim具有程序编辑的能力,可以看做是 Vi 的增强版本 ,可以主动的以字体颜色辨别语法的正确性
方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

vim fileName #打开文件

2. 开机&重启

shutdown -h now #立刻关机
shutdown -h 1 #1分钟后关机
shutdown -r now #立刻重启
shutdown -r 1 #1分钟后重启

halt #立刻关机
reboot #立刻重启

sync #把内存数据写入磁盘:关机和重启前先执行

3. 用户管理

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 #修改用户的组

4. 实用指令

4.1 运行级别

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]--> 进入到单用模式

4.2 帮助指令

man [expression or configFile] #manual:获取命令或配置文件的帮助信息
help expression #获取linux内置命令的帮助信息

4.3 文件和目录相关

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的指令

4.4 时间日期类

date [options] #显示当前时间
    %Y #显示当前年份
    %m #显示当前月份
    %d #显示当前天
    "%Y-%m-%d %H:%M:%S"
date -s [dateString] #设置系统当前时间
cal [options] #查看日历:默认显示本月日历
    cal 2020 #显示2020年日历

4.5 搜索查找类

find [range] [options] name #从指定范围向下递归遍历将满足条件的文件或目录显示在终端
    -name #按照指定的文件名查找
    -user #查找属于自定用户的所有文件
    -size #按照指定的文件大小查找
locate file #快速定位文件的路径
grep [options] lookup source #过滤查找:默认匹配大小写
    -n #显示匹配行及行号
    -i #忽略字母大小写
    
expression1 | expression2 #管道符号:把exp1的输出结果交给exp2处理
    netstat -anp | gerp sshd #查看当前服务器的sshd监听

4.6 压缩和解压类

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

5. 文件权限管理

5.1 文件所有者

文件默认属于其初始创建者

chown username file #修改文件所有者
chgrp group file #修改文件所在组

usermod -g group username #改变用户所在组
usermod -d dir username #改变用户登录的初始目录

5.2 权限管理

技术分享图片

权限说明(0-9位):

  • 0位:文件类型
    • -:普通文件
    • d:文件夹
    • l:链接文件
    • c:字符设备文件[键盘鼠标]
    • b:块设备文件[硬盘]
  • 1-3位:所有者对该文件的权限
    • r:read
    • w:write
    • x:run
  • 4-6位:所属组对该文件的权限
  • 7-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 #递归修改:包含目录下的子文件和目录

6. 定时任务调度

任务调度:指系统在某个时间执行的特定的命令或程序。

分类:

  1. 系统工作:有些重要的工作必须重复执行。
  2. 个别用户工作:个别用户可能希望执行某些程序。
crontab [options] #定时任务设置
    -e 编辑crontab定时任务
    -l 查询crontab任务
    -r 删除当前用户的所有crontab任务

新建任务:

  • 设置任务调度文件:/etc/crontab
  • 设置个人任务调度:crontab -e

输入任务到调度文件:

*/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备份数据库

7. 磁盘分区和挂载

  • 磁盘分区

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 个分区。

7.1 挂载

lsblk/lsblk -f #查看所有设备的挂载情况

7.2 磁盘情况

df -h #查询整体磁盘使用情况
du [options] [dir] #disk used:查询指定目录的磁盘占用情况:默认当前目录
    -s #指定目录占用大小汇总
    -h #带计量单位
    -a #含文件
    --max-depth=1 #子目录深度
    -c #列出明细的同时,增加汇总值
    
ls -l /home/ | grep "^-" | wc -l #统计/home文件夹下文件的个数
tree /home #以树状图的形式显示home目录

8. 网络配置

vim /etc/sysconfig/network-scripts/ifcfg-eth0 #配置固定的ip地址
reboot #配置生效
service network restart #重启网络服务

vim /etc/sysconfig/network #修改主机名:hostname[名称里不要有下划线],重启设备生效

9. 进程管理[重点]

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 #查看当前系统有哪些端口在监听

技术分享图片

指令说明:

  • System V展示风格
  • USER:用户名称
  • PID:进程号
  • %CPU:进程占用 CPU 的百分比
  • %MEM:进程占用物理内存的百分比
  • VSZ:进程占用的虚拟内存大小(单位 KB)
  • RSS:进程占用的物理内存大小(单位 KB)
  • TTY:终端名称 缩写
  • STAT:进程状态,其中 S 睡眠, s 表示该进程是会话的先导进程, N 表示进程有比普通优先级更低的优先级, R 正在运行, D 短期等待, Z 僵死进程, T 被跟踪或者被停止等等
  • STARTED:进程的启动时间
  • TIME:CPU 时间,即进程使用 CPU 的总时间
  • COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

10. 面试题目

10.1 Linux常用指令

  • netstat
  • top
  • lsblk
  • find
  • ps
  • chkconfig

10.2 查看内存、磁盘存储、IO读写、端口占用、进程等命令

  • df
  • du
  • iotop:需要下载安装
  • netstat -tunlp:查看正在使用的端口[address后面的数字就是端口号]
  • ps -aux
    技术分享图片

Linux基础操作命令

原文:https://www.cnblogs.com/alyiacon/p/12459352.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!