zoukankan      html  css  js  c++  java
  • linux基础常用命令

    linux的命令太多,记不住是正常的,但是记录下来以后需要的时候可以直接在这里找

    文件或目录处理命令

    ls

    • ls list 文件列表
    • ls -a a:all 包含隐藏文件的列表(linux里隐藏文件名是点开头的)
    • ls -l 别名:ll l:long 包含文件详细信息的列表
    • ls -lh h:human 人性化显示详细信息的列表
    • ls -ld d:directory 当前目录详细信息的列表
    • ls -i i:inode i节点信息

    mkdir

    • mkdir make directory 创建目录 
      • eg:mkdir /temp/japan /temp下创建目录/japan
    • mkdir -p 递归创建目录 
      • eg: mkdir /temp/japan/cangjing /temp下创建目录/japan,再在/japan下创建/cangjing
      • eg:mkdir /temp/japan/cangjing/temp/japan/boduo /temp/japan目录下一次性创建两个目录/cnagjing、/boduo

    cd

    • cd change directory 切换目录
    • cd .. 切换到上一级目录(注意:中间有个空格)

    pwd

    • pwd print working directory 显示当前工作目录

    rmdir

    -rmdir remove empty directory 删除空目录

    cp

    • cp copy 复制文件 语法格式:cp [复制文件] [复制文件] [存放目录]
    • cp -r 复制目录
    • cp -p 复制的时候保存属性 (例如创建时间不变等)

    clear 或 ctrl+l 清屏

    mv

    • mv move 剪切或改名

    rm

    • rm remove 删除文件
    • rm -r 删除目录
    • rm -f f:force 强制删除
    • rm -rf 强制删除目录

    ctrl+c 终止命令

    touch

    • touch 创建文件

    cat

    • cat 查看文件内容
    • cat -n n:number 查看文件信息+行号
    • tac 逆序查看文件内容

    more

    • more 分页显示文件内容 
      • 空格或f 翻页
      • enter 换行
      • Q或q 退出

    less

    • less 分页显示文件内容时向上翻页 
      • 空格或f 翻页
      • enter 换行
      • Q或q 退出
      • pgup 向上翻页
      • 上箭头 向上换行
      • /关键词 搜索并高亮显示 -n n:next 继续搜索
    • head 查看文件前10行(默认)
    • head -n +number 查看文件前number行

    tail

    • tail 查看文件后10行(默认)
    • tail -n +number 查看文件后number行
    • tail -f 动态显示文件内容

    ln

    • ln link 创建文件硬链接(默认)和源文件一模一样,类似于cp -p + 同步更新 
      • 硬链接:不能跨分区;inode相同
    • ln -s s:soft 创建软链接 ,类似于windows的快捷方式 
      • 软链接的权限为777

    权限管理命令

    chmod

    • chmod change the permissions mode of the file 改变文件或目录权限
    • chmod [ugoa][+-=][rwx] 
      • [u:user所有者 g:group所属组 o:others其他人 a:all所有人]
      • [+增加权限 -减少权限 =强行重写权限]
      • [ r:read读 w:write写 x:excute执行]
    • 最常用:数字表示权限 421-rwx [r:4 w:2 x:1]
    • chmod -R 递归修改
    • file: 
      • r:cat/head/tail/more/less
      • w:vim
      • x:script command
    • directory: 
      • r:ls
      • w:mkdir/rmdir/touch/rm
      • x:cd

    groupadd 添加用户组

    chown

    • chown [用户][文件或目录名] change owner 改变文件或目录的所有者 
      • 只有root可以执行

    chgrp

    • chgrp [用户组][文件或目录名] change group 改变文件或目录的所属组

    umask the user file-creation mask

    • mask 显示、设置文件缺省权限 
      • umask -S 以rwx的形式显示新建文件的缺省权限
      • u=rwx g=rx o=rx
      • 新建的文件没有可执行权限x 即 u=rw- g=r– o=r–
    • umask 显示权限掩码 
      • 0022 第一位(特殊权限)不用看
      • 后三位对应 rwx = 755 - 022
      • umask + 权限掩码 改变为你想要的权限值

    linux 严格区分大小写

    文件搜索命令

    find

    • find [搜索范围][匹配条件] 文件搜索 
      • -name 根据文件名查找 
        • 精准搜索 eg:find /etc -name init 在/etc目录下按文件名init搜索
        • 模糊搜索 eg:find /etc -name init
        • ?匹配单个字符 eg: find /etc -name init??? 查找init+3个字符为名称的文件
      • -iname 根据文件名不区分大小写查找
      • -size 根据文件大小查找 
        • +n大于 -n小于 n等于
        • n以数据块(0.5k 512b)为单位
        • eg:find / -size +204800 在整个盘里查找大于100M的文件
      • -user 根据所有者查找
      • -group 根据所属组查找
      • -amin a:access 访问时间
      • -cmin c:change 文件属性改变
      • -mmin m:modify 文件内容改变 
        • eg: find /etc -cmin -5 在/etc目录下查找5分钟内被改变过属性的文件或目录
      • -a and 两个条件同时满足
      • -o or 两个条件满足一个
      • -type 根据类型(文件或目录)查找 f:文件 d:目录 l:软链接文件
      • -exec/-ok {} ; 固定格式 查找并显示详细信息 
        • -ok 比 -exec多了一个询问确认的环节,适用于删除操作
        • eg: find /etc -name inittab -a -type -f -exec {} ;在/etc下查找名为inittab的文件并查看详细信息
      • -inum 根据i节点查找 
        • eg: find . -inum 31531 -exec rm {} ;在当前目录(.)下查找i节点为31531的文件并删除

    locate 快速查找

    • locate 在文件资料库中查找文件 原理类似于软件everything 
      • updatedb 更新文件资料库 在资料库收录的目录(eg:/root)下创建的文件可以通过该命令更新,即可locate查找到;而在别的目录下的文件该命令无效
    • -i 不区分大小写快速查找

    which

    • which 查找命令所在目录或别名 
      • eg:which ls
    • whereis 查找命令所在目录和对应帮助文档所在目录

    grep

    • grep -iv [指定字串][文件] 在文件中搜索指定子串并输出匹配的行 
      • -i 不区分大小写
      • -v 排除指定字串
      • eg: grep -v ^# /etc/inittab 在/etc/inittab中查看不以#开头的行

    man

    • man [命令或配置文件] 获得帮助信息 
      • f或空格翻页
      • enter 换行
      • q 退出
      • /+关键词 搜索
      • n 继续匹配查看
      • 1:命令的帮助;5:配置文件的帮助
      • eg: man 5 passwd 查看passwd配置文件的帮助文档
    • whatis [命令] 查看命令的name描述信息
    • apropos [配置文件] 查看配置文件的name描述信息
    • [命令] –help 只查看命令的选项

    info 类似于man命令,一些操作对应的键不同而已

    help

    • help [shell内置命令] 查看shell内置命令的帮助信息 
      • shell内置命令:一般通过which无法定位到目录的命令

    用户管理命令

    useradd 添加用户

    • useradd eg:useradd yangmi 添加用户yangmi
    • passwd 用户名 设置用户密码 
      • eg:passwd yangmi 给用户杨幂设置密码或更改密码
    • who 查看登录用户信息 
      • tty本地终端 pts远程终端
    • w 查看登录用户的详细信息
    • whoami 查看当前登录用户名

    su切换用户

    • root下输入su - yangmi 在root下切换成用户yangmi,不需要输入密码 
      • 输入ls,显示无权限,使用sudo ls ,输入yangmi密码还是无权限,需要提前设置/etc/sudoers配置文件,将sudo赋权给yangmi才行
    • 在普通用户yangmi下输入su 直接切换成root,需要输入root密码
    • 在普通用户yangmi下输入su - 直接切换成root,并初始化root用户配置,需要输入root密码
    • 在root下输入

    压缩解压命令

    gzip 只针对文件,对目录不生效 不保留源文件

    • gzip 文件名 压缩文件 文件后缀.gz
    • gunzip 或 gzip -d 文件名 解压文件

    tar 打包目录 生成.tar.gz格式 保留源文件

    • 格式:tar 选项[cvfz] [打包后文件名] [被打包的目录] 
      • -c c:compress 打包
      • -v 查看打包的文件信息,包含哪些文件等
      • -f f:file 指定打包文件
      • -z z:zip 打包的同时进行压缩 .gz格式
      • -j 压缩成.bz2格式 
        • eg: tar -cjf boduo.tar.bz2 boduo
    • 格式:tar 选项[xvfz] [待解包的文件名] 
      • -x 解包
      • -v 查看解包文件信息
      • -f 指定解压文件
      • -z 解压缩 .gz格式
      • -j 解压缩 .bz2格式 
        • eg:tar -xjf boduo.tar.bz2

    zip 压缩文件或目录 保留源文件 .zip 压缩能力比gzip差很多

    • 格式:zip 选项[-r] [压缩后文件或目录名] [文件或目录] 
      • -r r:directoty 压缩目录
    • eg: zip boduo.zip boduo 压缩文件
    • eg: zip -r japan.zip japan 压缩目录

    unzip 解压缩 不区分文件或目录

    • eg: unzip japan.zip

    bzip2 压缩文件 .bz2 gzip的升级版:压缩能力增加 可以保留源文件

    • bzip2 [-k] [文件] 
      • -k 压缩保留源文件 
        • eg: bzip2 -k boduo

    bunzip2 解压文件 参数格式同上面bzip2

    • eg: bunzip2 -k boduo.bz2

    网络命令

    虚拟机下centos和window互相ping通:

    • 关闭linux防火墙:service iptables stop
    • 关闭linux的selinux:vim /etc/selinux/config 
      • 将SELINUX=enforcing改为SELINUX=disabled
      • 可以查看当前selinux状态验证关闭:getenforce
    • 关闭windows防火墙

    write 给在线用户发送消息

    • 格式:write <用户名>
    • eg: write yangmi
    • Ctrl + D 保存
    • Ctrl + 回格 删除、回退

    wall 发广播消息

    • wall [message] wall: write all

    ping 检测网络的连通性 linux会一直ping ctrl+c强制终止

    • ping 选项 ip地址 
      • -c c:count ping的次数
    • eg: ping -c 3 172.18.216.28 ping ip地址3次

    ifconfig 查看和设置网卡信息

    • ifconfig 查看网卡信息 类似于windows下ipconfig 
      • eth0:本地真实网卡 lo:回环网卡
    • ifconfig 网卡 ip地址 临时设置网卡信息 
      • ifconfig eth0 +ip 给第一个网卡配置ip地址

    mail 查看发送电子邮件

    • mail [用户名] 
      • h 查看邮件列表 
        • 邮件序号 查看邮件信息
      • d + 邮件序号 删除邮件
      • q 退出

    last 列出目前和过去所有登录系统的用户信息

    lastlog 查看用户最后一次登录的信息

    • lastlog -u 用户id 查看特定用户最后一次登录的信息

    traceroute 显示数据包到主机间的路径(可以访问网络的前提下)

    netstat 显示网络相关信息

    • netstat [选项] 
      • -t : tcp协议
      • -u : udp协议
      • -l : 监听listen
      • -r : 路由 route
      • -n : 显示ip地址和端口号
      • eg:netstat -tuln 查看本机监听的端口信息
      • eg:netstat -an a:all 查看所有的监听信息(包含正在连接的)
      • eg:netstat -rn 显示本机路由表

    setup 配置网络 redhat专有命令

    • service network restart 重启网络服务

    mount 挂载命令

    • mount [-t 文件系统] 设备文件名 挂载点
    • eg:mount [-t iso9660] /dev/sr0 /mnt/cdrom

    umount 取消挂载

    • eg: umount /dev/sr0

    关机重启命令

    shutdown

    • 格式:shutdown [选项] 时间 
      • -h 关机 h:halt
      • -r 重启
      • -c 取消前一个关机命令 
        • eg:shutdown -h now 马上关机

    其他关机命令

    • halt
    • poweroff
    • init 0

    其他重启命令

    • reboot
    • init 6

    系统运行级别 通过cat /etc/inittab 命令可以查看

    • #### 0 关机
    • 1 单用户
    • 2 不完全多用户,不含NFS服务
    • 3 完全多用户
    • 4 未分配
    • 5 图形界面
    • #### 6 重启

    runlevel 查询系统运行级别

    logout 退出登录命令

    vim基本命令

    • vim 文件名 进入文件的命令模式(默认)
    • 命令模式 
      • a i o 进入插入模式
      • Esc 从插入模式回到命令模式
      • set nu 显示行号 nu:number
      • set nonu 不显示行号
      • gg 到第一行
      • G 到最后一行
      • nG 到第n行
      • $ 移动到行尾
      • 0 移动到行首
      • x 删除字符
      • nx 删除光标所在处后面的n个字符
      • dd 删除/剪切行
      • ndd 删除/剪切多行
      • yy 复制光标所在行
      • nyy 向下复制多行
      • p 向下粘贴
      • P 向上粘贴
      • u 取消上一步操作
      • :n 到第n行
      • :q 退出
      • :q!不保存退出
      • :wq 保存退出
      • ZZ 快捷键 保存退出
      • :w 保存文本
      • :w new_filename 另存为
    • 编辑模式 
      • : 进入编辑模式
      • a 在光标所在字符后插入 a:append
      • A 在光标所在行尾插入
      • i 在光标所在字符前插入
      • I 在光标所在首插入
      • o 在光标下插入新行
      • O 在光标上插入新行

    文件系统管理

    • df [选项] [挂载点] 查看文件系统 
      • -h h:human 人性化显示文件系统
      • -a a:all 显示所有文件系统信息,包括隐藏的特殊文件系统
    • du [选项] [文件或目录名] 统计目录或文件大小(一般不用于文件) 
      • -a 显示子目录信息
      • -h 人性化显示
      • -s 显示总共占有量
    • df 面向文件系统:文件大小+系统进程等大小
    • du 面向文件或目录:文件大小
    • df查看到的剩余空间才是真的剩余空间
    • fsck [选项] 分区设备文件名 文件系统修复命令 一般系统自动执行,无需手工操作
    • dumpe2fs 分区设备文件名 显示磁盘状态命令

    查询与自动挂载

    • mount [-l] 查询系统中已经挂载的设备,-l会显示卷标
    • mount -a 根据配置文件/etc/fstab,自动挂载
    • mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 挂载文件名 挂载点 
      • eg: mount -t iso9660 /dev/cdrom /mnt/cdrom 将光盘类型iso9660 的/dev/cdrom 挂载到/mnt/cdrom上,挂载点类似于windows中的盘符
      • eg:mount /dev/cdrom /mnt/cdrom 同上,默认光盘类型可以省略,光盘的设备文件名固定
    • fdisk -l 查看u盘设备文件名
    • 挂载u盘 
      • mount -t vfat /dev/sdb1 /mnt/usb 将u盘中的文件系统挂载到/mnt/usb
    • linux默认不支持NTFS格式,即不支持移动硬盘,可以通过编译内核,添加NTFS格式或直接使用第三方软件

    fdisk分区

    • 按照帮助提示操作: 
      • -p 显示分区
      • -n 新建分区(新建扩展分区之后才会出现逻辑分区的选项)
      • -l显示分区类型id号
      • -w 保存退出
    • partprobe 强制重新读取分区表
    • 格式化分区: mkfs -t ext4 /dev/sdb1
    • 挂载分区同上 mount /dev/sdb1 /disk1

    自动挂载

    • 在/etc/fstab 中添加挂载信息:vim /etc/fstab
    • /etc/fstab文件修复:
    • 修复fstab:(根分区/正常的前提下)以读写权限重新挂载 mount -o remount,rw / 再vim修改

    分配/swap空间

    • free 查询内存和swap空间大小
    • cache(缓存):加速数据的读取;buffer(缓冲):加速数据的写入
    • 手动分配swap,操作步骤如下: 
      • fdisk /dev/sda
      • n
      • l
      • 新建了分区sdb6之后,默认是Linux(83)格式的,要改成swap格式的,即82,需要修改分区id:t
      • 格式化swap:mkswap /dev/sdb6 
        • 格式化报错,目录不存在,需要重启,让分区生效
      • 加入swap分区:swapon /dev/sdb6 
        • 取消swap分区:swapoff /dev/sdb6
    • swap分区开机自动挂载:vim /etc/fstab 
      • 加入一行:/dev/sdb6 swap swap defaults 0 0 保存退出即可

    Linux系统管理

    ps查看系统中所有进程

    • ps aux unix格式显示系统所有进程信息
    • ps -le l:long e:所有的进程 Linux格式显示系统所有进程信息

    top 查看系统健康状态

    • top [选项] 
      • -d 秒杀:指定top命令每隔几秒更新,默认是3秒
      • 在top命令的交互模式下可以执行的命令: 
        • ?或h 显示帮助
        • P(大写) 以cpu占有率降序,默认
        • M 以内存的占有率降序
        • N 以pid降序
        • q 退出top
    • pstree [选项] 查看进程树 
      • -p 显示进程的pid
      • -u 显示进程的用户

    kill [pid] 终止进程

    • kill -l 查看可用的进程信号 
      • 常用信号代号如下:
      • -1(数字1)重启
      • -9 强制终止
      • -15 正常终止,默认
      • eg: kill -1 22354 重启进程22354
      • eg: kill -9 22354 强制终止进程22354
    • killall [选项][信号] 进程名 按照进程名杀死进程
    • pkill [选项][信号] 进程名 按照进程名杀死进程 
      • -t t:终端号 按照终端号踢除用户
      • eg: pkill -9 -t tty1 强制踢除从本地终端tty1登录的用户

    把进程放入后台

    • 命令后+& 
      • eg:tar -zcf etc.tar.gz /etc &
    • 命令结束+快捷键ctrl+z
    • 两者区别:前者放入后台后,继续执行;后者放入后台后,暂停执行

    jobs [-l] 查看后台的工作

    • -l 显示工作的pid 
      • +代表最后一个放入的进程,默认优先恢复,-代表倒数第二个放入的进程

    pg %工作号 将后台暂停的工作恢复到前台

    fg %工作号 将后台暂停的工作恢复到后台

    • 注意:和前台有交互的进程,是不能恢复到后台执行的,eg:top、vim等

    vmstat 监控系统资源

    • vmstat 间隔时间 监控刷新次数
    • eg:vmstat 2 3 每隔2秒共监控显示3次系统资源

    dmesg 开机时内核检测信息

    • dmesg | grep CPU 查询CPU相关的内核检测信息
    • dmesg | grep eth0 查看网卡信息

    free 查看内存使用状态

    • free [-b|-k|-m|-g] 
      • -b 以字节为单位统计
      • -k 以KB为单位显示,默认
      • -m 以MB为单位显示
      • -g 以GB为单位显示

    查看CPU信息

    • cat /proc/cpuinfo

    uptime 得到top命令的第一行:平均负载等;也即w命令第一行的内容

    uname 查看系统和内核相关信息

    • uname [选项] 
      • -a a:all 内核所以信息
      • -r 内核版本
      • -s 内核名称

    判断当前系统位数:32 或 64

    • file /bin/ls

    查看当前系统的发行版本:redhat、centos、ubuntu等

    • lsb_release -a

    列出进程调用的文件

    • lsof [选项] 
      • -c 显示字符串开头的进程调用的
      • eg: lsof -c init 查看init调用的文件
      • -u 显示某个用户调用的
      • -p 用pid查询
      • eg:lsof -p 1732

    系统定时任务

    crond 服务管理和访问

      • service crond restart 启动命令
      • chkconfig crond on 变为自启动命令
      • 用户的crontab设置 
        • crontab [选项] 
          • -e 编辑定时任务:进入vim界面
          • 格式:* * * * * command 这里的* * * * * 分别代表时间:分钟、小时、天、月、星期
          • eg:* / 1 1,2,3 * * 1-5 echo ‘test’ >> /tmp/test 在每周1-5的凌晨的1、2、3点里,每隔1分钟在/tmp/test里写入test
          • -l 查看定时任务
          • -r 删除所有定时任务,删除单个的话,直接进入vim编辑即可
  • 相关阅读:
    Codeforces 651 A. Joysticks
    Codeforces 538 C. Tourist's Notes
    Codeforces 538 B. Quasi Binary
    Codeforces 538 A. Cutting Banner-substr()函数字符串拼接
    Codeforces 626 C. Block Towers-二分 (8VC Venture Cup 2016-Elimination Round)
    Codeforces 626 B. Cards (8VC Venture Cup 2016-Elimination Round)
    hdu 4825 Xor Sum trie树
    Codeforces Round #358 (Div. 2) C. Alyona and the Tree dfs
    Codeforces Round #357 (Div. 2) 优先队列+模拟
    2016 湘潭邀请赛
  • 原文地址:https://www.cnblogs.com/tianfen/p/7723547.html
Copyright © 2011-2022 走看看