• Linux常用语法小记


    ls 浏览| -a 全部| -l 详细信息| -d 查看目录属性| -h人性化信息显示

    drwxr-xr-x:第1位是文件类型,2-4位所有者u的权限,5-7位所属组g的权限,8-10其他人o的权限

    r:read读取权限,w:write写入权限,x:执行权限,-:无权限

     

    pwd 显示当前目录

    mkdir 创建目录

    rmdir删除空目录

    rm 删除文件| -r 目录| -f 强制删除

    cp 复制| -r 目录| -p 保留文件属性

    mv 剪切| -r目录

     

    touch 创建空文件

    cat 浏览文件内容| -n显示行号

    tac 反向浏览文件内容

    more 分页显示文件内容(只能向下显示)| 空格、f 翻页| enter 换行 q 退出

    less 分页显示文件内容(可上下翻页显示)| ↑↓上下行显示| PgUp/PgDw上下页显示

    head 显示前十行| -n指定显示行数

    tail 显示尾十行| -n指定行数| -f动态刷新显示

     

    ln 链接命令|-s 创建软链接文件|无-s 则创建硬链接,类似于复制,并且会同步更新源文件的内容

    软链接:快捷方式,可以为目录创建软链接,可以跨分区,源文件删除则失效

    硬链接:复制并同步更新,不可为目录创建硬链接,不可跨分区,源文件删除依然存在

     

    chmod 权限管理

    chmod ugoa +-= rwx 文件或目录名

    u:所有者,g:所属组,o:其他人,a:所有用户

    +:增加权限,-:减少权限,=:取消原有权限,赋予当前权限

    r:4,读取权限,

    w:2,写入权限,

    x:1,执行权限,

    0:无任何权限

    权限使用代数相加代替表示。

    -R:递归修改,修改当前目录的权限并修改目录下所有文件的权限,

    类似windows修改文件下所有内容的权限属性

     

     

    chown 更改所有者

    chown 用户 文件或目录名

    chgrp 更改用户组

    chgrp 用户组名 文件或目录

    umask -S 显示当前新建文件的缺省权限

    umask 显示缺省权限掩码,掩码翻译方法:777-显示值

    umask 缺省权限掩码

     

    find 文件搜索

    find 搜索范围 匹配条件

    |-name 指定文件名

    |*文件名* 模糊查询

    |? 文件名补位符,一个问号占用一个字符

    |-iname 不区分大小写

    |-size +- 文件大小(数据块,1K=2个数据块) 查找大于小于或等于某文件大小的文件|-user 根据所有者查找

    |-group 根据所属组查找

    |-amin 访问时间

    |-cmin 文件属性修改时间|-mmin 文cd 件内容修改时间

    |-type 按照文件类型 f 文件 d 目录 l 软链接文件

    |-inum 根据i节点查找

    -a 同时满足2个条件|-o 满足其中1个条件

    -exec/-ok 命令条件 {} ; -ok询问是否执行

     

    locate 在文件资料库中查找文件,新生成的文件一般未及时更新资料库,则该命令找不到

    updatedb 更新文件资料库,无法更新临时/tmp目录下的文件

    |-i 不区分文件名大小写

     

    which 搜索命令,查找命令所在路径和别名

    whereis 搜索命令,并给出帮助信息路径

    grep 搜索文件内容

    grep -iv 内容 文件

    |-i 不区分大小写

    |-v 排除指定字符串 同sql not like

    |^ 代表开头

     

    man 查看帮助信息

    man 命令名称

    date 查看当前时间

    help 获得shell内置命令的帮助信息

    help 命令名称

     

    useradd 增加用户

    useradd 用户名

    passwd 添加密码

    passwd 用户名, 再根据提示输入密码

    who 查看当前用户信息 |tty 本地登陆

    w 详细用户登陆信息

     

    gzip 压缩文件,压缩格式.gz,压缩后不保留原始文件,只保留压缩包,只能压缩文件,不能压缩目录等。

    gzip 文件名

    gunzip 解压缩.gz文件

    gunzip 文件名|gzip -d 文件名

    tar 打包文件

    tar 对象名称|-c 打包|-v 显示详细信息|-f 指定文件名|-z 打包同时压缩

    常用例子 tar -zxvf 对象名,解压解包

    tar -zcvf 压缩包,打包压缩

     

    zip 压缩包,.zip格式,压缩后会保留源文件

    zip 压缩后文件名 文件或目录 |-r 压缩目录

    bzip2

     

    write 向用户发信息,ctrl+D完成保存并发送

    wall 向所有用户发送信息

    mail 向用户发邮件

    last 统计所有用户登录信息

    lastlog 列出所有用户,统计最后登陆信息

    traceroute 显示数据包到主机间的所有路径

    setup 配置网络

     

    shutdown 选项 时间 保存后关机

    |-c 取消前一个关机命令

    |-h 关机

    |-r 重启

    init 系统运行级别

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

    runlevel 查看系统运行级别

     

    用户配置文件 /etc/passwd

    用户密码文件 /etc/shadow

    用户组配置文件 /etc/group

    用户组密码文件 /etc/gshadow

     

    默认创建用户配置 /etc/default/useradd

    其他用户默认配置 /etc/login.defs

     

    usermod 修改已有账户信息

    chage修改用户密码状态,chage -d 0 用户名,将用户密码更改间隔归零,用于用户初次登陆时候,强制要求修改密码,保证服务器安全性。

     

    userdel -r 用户名 删除用户并删除其家目录

    su -/c 切换用户的同时,并同时切换环境变量/只执行一次(暂时使用指定账户,并执行一次自定义的操作)。

     

    acl权限,类似于windows的用户权限,可以直接为某目录增加指定用户的相关权限,不同于linux传统的一个文件所属组权限,便于细化个别权限设置

    永久为挂载点增加acl权限,目前系统默认所有挂载点都有acl权限

    vim /etc/fstab,在需要增加acl权限的挂载点,defaults后增加,acl

     

    getfacl 文件名 查看acl权限

    setfacl 选项 文件名 设定acl权限

    例子:setfacl -m u:st:rx /project/ 为st用户设定project目录的rx权限,u用户(g所属组,m是mask特殊):st(用户名):rx(具体权限)

    -m 设定acl权限

    -x 删除指定的acl权限

    -b 删除所有的acl权限

    -d 设定默认acl权限

    -k 删除默认acl权限

    -R 递归设定acl权限

     

    mask 最大有效权限 rwx,所有新增用户或组的acl权限实际是与mask的有效权限进行“相与”计算得出,即相同则有,不相同则为无

    例子:mask:rwx test:r-x

    mask有r权限,test也有r权限,“相与”计算后得出,都有r权限,所以test实际就有r权限

    mask有w权限,test的为-权限(没有w权限),“相与”计算后得出,没有w权限,所以test实际就没有x权限

     

    setfacl -m u:st:rx -R /project/ 递归acl权限,父目录下的子目录

    setfacl -m d:u:st:rx -R /project/ 默认acl权限,目录下所有新目录自动获得设定的acl权限,仅针对新增文件或者目录

     

    文件系统属性权限 chartr [+-=] 选项

    选项:

    i :对文件-不允许对文件进行删除、改名、增加、修改数据,只能;对目录-只能修改目录西文件数据,不允许新建删除文件

    a:对文件-只能在文件中增加数据,不能删除修改文件里的数据;对目录-只能在目录中新建修改文件,不能删除文件

     

    sudo 超级管理员给指定用户授权系统命令后,指定用户可以执行该命令

     

    主分区:最多4个

    扩展分区:扩展分区只能有1个,算为主分区中的1个,扩展分区无法写数据和格式化,必须在扩展分区下划分逻辑分区,逻辑分区可以进行数据读写和格式化

    逻辑分区:扩展分区中划分的

     

    mount -l 查看挂载设备

    mount -a根据/etc/fstab配置文件,进行自动挂载

     

    mount [-t 文件系统] [-L 卷标] [-o 特殊选项] 设备文件名 挂载点

    -t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660(光驱)等文件系统

    -L 卷标名:挂载指定卷标的分区,而不是安装设备文件名挂载

    -o 特殊选项:可以指定挂载的额外选项

    remount重新挂载已经挂载的文件系统,一般用于指定修改特殊权限

    exec/noexec 执行/不执行,设定是允许在文件系统中执行可执行文件,默认exec允许

     

    fdisk 磁盘管理

    磁盘分区挂载:

    1. 虚拟机增加硬盘空间

    2. fdisk -l 查看新硬盘名称

    3. fdisk /dev/新硬盘名称

    4. m帮助;n新建分区;p查看当前硬盘分区情况

    5. 起始扇区,默认回车

    6. 起始扇区号,默认1,默认回车

    7. 分区类型,p主分区;l逻辑分区;e扩展分区 (先扩展,才能在扩展分区下进行逻辑分区)

    8. 设定分区大小 +size单位(K,M,G) 例:+2G 分配2G的大小

    9. w写入保存并退出

    10. partprobe 强制重新读取分区列表

    11. 格式化磁盘分区 mkfs -t 文件类型 磁盘分区路径 例:mkfs -t ext4 /dev/sdb1

    12. 新建挂载点 mkdir

    13. 挂载磁盘分区 mount 磁盘分区路径 挂载点 例:mount /dev/sdb1 /disk1/

     

    磁盘分区卸载:

    1. umount 挂载点

    2. fdisk 磁盘路径

    3. d 删除分区

    4. w写入保存并退出

    5. partprobe 强制重新读取分区列表

    6. 关机,移除磁盘

     

    获取设备UUID: dumpe2fs -h 设备路径

     

    /etc/fstab文件修复(仅适合根分区以外的分区配置写错导致的系统崩溃)

    一旦出现文件内容写错,会导致系统崩溃,服务器重启后无法启动。

    输入root密码后,进入系统安全模式,此时/etc/fstab文件为只读,此时需要执行

    mount -o remount,rw / 重新挂载根挂载点,此时/etc/fstab文件为读写,进入修改错误的内容

     

    free 查看内存空间和swap空间

     

    变量 $

    $? :上一次命令执行情况,成功为0,不成功则为具体数值

    $$ :当前进程号PID

    $! :后台运行的最后进程号PID

     

    read [选项][变量名] 接收键盘输入

    -p :提示信息,等待read输入时,输出提示信息

    -t :秒数,read等待用户输入,该选项用来指定等待时间

    -n :read只接受指定的字符数,才会执行

    -s :隐藏输入的数据,类似密码输入等

     

    变量1=$(($变量2+$变量3)) 变量运算

     

    source 配置文件 强制配置文件即刻生效

     

    列截取输出

    cut [选项] 文件名

    -f 指定列号,多列用逗号隔开

    -d 指定分隔符

     

    行截取输出

    printf ‘输出类型格式’ 输出内容

    %ns : 输出字符串。n为输出的字符数量

    %ni : 输出整型

    %m.nf :输出浮点型,m整数位数,n小数位数

     

    流编辑器

    sed [选项]'[动作]' 文件名

    选项:

    -n : 只输出经过sed处理的行内容

    -e :可以使用多条sed命令编辑

    -i : 用sed处理结果直接修改文件内容

    动作:

    n :行数,范围使用起始行号,中间用逗号隔开

    nd : delete删除第n行

    na:add在第n行后增加

    ni :insert 在第n行后插入

     

    排序

    sort [选项] 文件名

    -f :忽略大小写

    -n:以数值型进行排序

    -t:指定分隔符

    -k n,m:指定字段范围排序,n起始位,m结束位

    -r:反向排序

     

    统计

    wc [选项] 文件名

    -l:只统计行数

    -w:只统计单词数

    -m:只统计字符数

     

    服务分类

    /etc/init.d:启动脚本位置,独立服务

     

    kill [信号][pid] :终止进程

    killall []选项[信号][进程名]:根据进程名终止其所有进程

    pkill [选项][信号][进程名/终端号]:同killall,但主要用于踢出用户

     

    命令 & ,或者命令执行后,使用ctrl+z快捷键 :将当前命令任务放入后台,前者是后台执行,后者是后台暂停

    jobs -l :查看后台运行的任务

    bg %任务号:无交互的后台任务恢复到前台

    fg:恢复有交互的任务到前台执行

     

    vmstat [刷新间隔] [刷新次数] : 系统资源查看

    dmesg:开机时内核检测信息

    free [选项]:内存使用状态

    -b:以字节为单位显示;

    -k:以KB为单位显示;

    -m:以MB为单位显示;

    -g:以GB为单位显示

     

    /proc/cpuinfo :cpu信息文件,每次重启服务器后,重新检测并写入该文件

     

    dmidecode [选项] [代号]:查看硬件信息,具体参考man命令

    例子:

    dmidecode|grep -A16 "Memory Device"|grep 'Speed' :查看内存速率

     

     

     

    uname [选项]:当前系统的内核相关信息

    -a:查看系统所有信息;

    -r:查看内核版本

    -s:查看内核名称

     

    file /bin/ls:判断系统位数

     

    lsblk:查看硬盘块信息,类似df -lh

     

    service命令所查询的目录: /etc/init.d/

    systemctl命令所查询的目录:/usr/lib/systemd/system/

     

    crontab [选项] :系统任务配置

    -e:编辑定时任务

    -l:查询任务

    -r:删除所有crontab任务

     

    init [级别代码] :切换运行级别

    0:关机;

    1:单用户模式,类似windows安全模式;

    2:不完全的命令行模式,不含NFS服务(linux与linxu系统间文件共享服务);

    3:完全命令行模式;

    4:系统保留;

    5:图形模式;

    6:重启。

     

    runlevel:查看运行级别

     

    dump [选项] 备份后文件名 原始文件 :分区支持增量备份,文件只能完整备份

    -level:0-9备份级别;

    -f 文件名:指定备份后文件名;

    -u:备份成功后,把备份时间记录在//etc/dumpdates 文件;

    -v:显示备份过程中更多的输出信息;

    -j:将备份文件压缩为.bz2格式;

    -W:显示允许被dump的分区的备份等级及备份时间。

     

    restore [模式] [选项]:

    模式:

    -C:比较备份数据和实际数据的变化;

    -i:进入交互模式,手工选择需要恢复的文件;

    -t:查看模式,查看备份文件中的数据;

    -r:还原模式,还原数据;

    选项:

    -f:指定备份的文件名。

     

    hostname:查看当前主机名

    hostname [新主机名]:临时设置主机名

    hostnamectl set-hostname:永久设置主机名

     

    ifdown [网卡设备名]:禁用指定网卡

    ifup [网卡设备名]:启用指定网卡

    nslookup [网址/ip]:域名服务解析查看

    netstat [选项]:查看网络服务列表

    -t:查看tcp协议端口

    -u:查看udp协议端口

    -l:仅查看在件套状态的网络服务

    -n:不使用域名和服务名,使用IP和端口号

    -a:查看所有网络连接

     

    密钥对登陆(使用了密钥对登陆后,建议禁用ssh密码登陆)

    在linux客户机操作:ssh-keygen -t rsa 生成rsa密钥对,该密钥对存放在~/.ssh/目录下

    id_rsa和id_rsa.pub,私钥和公钥;

    通过scp命令将公钥上传到目标服务器的目录下,scp id_rsa.pub 用户名@IP:/目录名;

    通过ssh命令远程到目标服务器,ssh 用户名@IP;

    将私钥内容追加到密钥对验证文件中, cat id_rsa.pub >> /root/.ssh/authorized_keys

    去掉验证文件的所属组和其他人的读写执行权限 chmod 600 authorized_keys

    关闭SELinux服务,

    vim /etc/selinux/config

    修改SELINUX=Disabled  ,重启服务器

     

    samba服务

     

    清理旧内核:

    uname -r #查看当前使用的内核版本

    rpm -qa | grep kernel #查看所有已安装的内核版本

    yum remove 内核版本名称 #卸载旧的内核版本

     

    iptables端口映射转发

    *nat

    :PREROUTING ACCEPT [2:656]

    :INPUT ACCEPT [2:656]

    :OUTPUT ACCEPT [0:0]

    :POSTROUTING ACCEPT [0:0]

    -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8083

  • 相关阅读:
    C#接口入门学习
    消息队列接收时报错:对消息队列系统的访问被拒绝
    给某做测试的好友的建议
    在不同的Sql Server 数据库服务器(不同机器)导数据。
    如何让开发人员更好测试?
    存储过程初探
    语音报警.NET开发初探
    vs2010下Siverlight开发环境安装
    C# HttpWebRequest 从google服务器获取google的PageRank PR值
    创建进程API CreateProcess Demo
  • 原文地址:https://www.cnblogs.com/airlinp/p/12418707.html
Copyright © 2020-2023  润新知