• Linux常用系统管理命令


    1、alias //查看全部alias的定义, 可在.bash_profile(.bashrc、/ect/profile 也可以)文件中定义;
    也可以临时定义:
    alias 'cd ~/log/MPP/`date +%Y%m%d`;pwd' //代替命令='要执行的命令1;命令2;命令3...'
    ln -s /root/abc.java aa //软连接,aa-->abc.java
    clear //清除屏幕
    history //查看执行过的历史命令记录
    history 20 //查看最近执行的20条历史命令记录
    env | more //查看该用户的环境变量,PATH;依然定义在:/用户目录/.bash_profile
    说明:| more:带分页显示(空格键下一页,回车下一行);| less:带分页,提供页数输入
    echo $PATH/USER/SHELL //显示变量内容,跟env一样,只是可以选择显示哪类

    2、Shell
    1)环境变量,profile文件(shell脚本),如配置jdk,tomcat,一般是在/etc/profile或$HOME/.bash_profile配;
    2)配置一些变量,.bash_profile(shell脚本),如alias,bin的PATH路径(env查看);
    3)配置开机自动执行程序,.bashrc(shell脚本),如让tomcat开机就启动:/home/tomcat/bin/startup.sh start
    说明:在/etc/目录下,对所有用户有效;在/root/或/home/用户目录/下,对当前用户生效;
    export PATH=$PATH:/root //添加环境变量/root路径,临时生效

    3、系统日期,时间
    date //查看系统当前日期、时间
    who am i //查看当前用户,whoami:只显示用户名,who:显示所有用户
    date -s 05/27/2011 //将系统日期修改为:2011年5月27日 (需oot用户修改,其它用户默认只能查看)
    date -s 10:24:00 //将系统时间修改为:10点24
    date 02050930 //将系统时间修改为:2月5日9点30 (年份保持修改前的年份), date 0930不行,完整格式MMDDHHMMYYYY.SS:月日时分年.秒`
    cal 3 2002 //查看2002年3月的月历
    cal 2008 //查看2008年的年历

    4、修改文件即时生效 //source命令也称为“点命令”,也就是一个点符号(.)
    source 目录/文件 或 . 目录/文件 //注意: . 和 目录/文件间有空格,例:. .bash_profile

    5、查看目录和文件
    cd - //退回进入此目录之前所在的目录,区别于上级目录:cd ..
    cd //直接cd,到当前用户的主目录去
    ls //简要列出文件、文件夹, 不含隐藏;dir :不区分颜色显示
    ll //详细列出文件、文件夹, 不含隐藏, 同ls -l
    ls -a //简要列出文件、文件夹, -a,含隐藏
    ls -la //详细列出文件、文件夹, -a,含隐藏
    ls -lh //-lh,显示大小
    通配符:
    *:多个,?:一个

    6、文件时间
    stat a.txt //查看文件时间戳
    ll a.txt //查看a.txt文件的-l 信息
    touch [acdmt] 文件 //修改文件时间或创建新文件

    7、查看路径
    pwd //查看默认工作目录的完整路径 --连接(link)路径
    pwd -P //显示出实际路径,而非连接(link)路径
    pwdx 1158(进程号) //查看该进程号所属目录

    8、进程、端口
    ps -ef|grep java(程序名称) //查看tomcat进程,貌似tomcat,weblogic都可以用java进程来查,杀之
    kill -9 进程数 //杀死进程(-9:强制)
    netstat -an|grep 7988 //查看7988端口监听是否启动
    jps //显示该用户,java进程
    ps -aux | more //(静态)查看进程,分页显示; 动态查看:top ,详见 24、系统性能
    ps -aux|grep tomcat //查tomcat进程(不同用户权限也可以看到)
    netstat -anp | more //查看端口占用情况,-anp的p会把进程信息也显示出来
    telnet 192.168.1.128 7988 //检测端口是否开放(在windows cmd中执行)
    traceroute ip地址或域名 //追踪路由;cmd中:tracert

    9、分配权限
    chmod +x 目录/文件 //添加执行权限
    chmod a+x filename/文件夹 //给文件所有(a)用户分配所有权限
    chmod 777 文件/文件夹 //添加rwxrwxrwx权限,可读r:4,可写w:2,可执行x1

    10、查找
    find /home -name file //从目录/home开始搜索文件和目录
    find /home -amin -10 //10分钟内存取的文件或目录;
    说明:-a:存取,-c修改;min:分钟,time:小时;-:时间内,+:时间前
    find /home -size +100000k //从/home目录开始查找大于100M的文件;
    说明:+:大于,-:小于;k:kb,c:字节;可并用:find /home -size +5555c -size -5557c //大于5555字节小于5557字节
    find /etc -name "abc*" -print //查找/etc下以abc开头的文件;-print:将匹配的文件输出到标准输出
    grep "abc" xxx.java //显示xxx.java文件中有abc的行
    grep -n "abc" xxx.java //带行号显示
    grep "abc" xxx.java > xxx.text //覆盖写;<:导入,备份;
    grep "abc" xxx.java >> xxx.text //追加写
    grep 'test' d* //显示所有以d开头的文件中包含 test的行
    grep ‘test’ a.file b.file c.file //显示在a.file,b.file,c.file文件中匹配test的行
    grep ‘[a-z]{5}’ a.file //显示a.file文件中,至少有5个连续小写字符的字符串的行
    grep magic /usr/src/Doc/* //在/usr/src/Doc目录下搜索带字符串’magic’的文件
    which java
    whereis java //查找jdk位置
    cat /proc/version //查看linux版本信息
    查看64位还是86位:
    java -version //(Java)Java HotSpot(TM) 64-Bit:64位;默认没有一般是32位
    uname -a (-r) //(Linux)x86_64:64位;i686:32位

    11、查看 --日志
    tail -f a.log //动态输出,另:tail -300 a.log ,只查看300条
    tailf a.log
    tail -n 10 a.log //最后10行
    tail -n 10 a.log | head -n 5 //最后10行的前5行
    cat /dev/null > file //将文件内容清空
    view/cat/more a.log //静态查看
    跳转:
    1)、:0 , :1 , gg都可以到第一行;
    2)、或者:$=检查总行数;比如24,:24到第24行
    3)、shift+g(大写G)到末行;
    4)、Ctrl + F/B,向前/向后页
    查找:
    先输入 / 再输入要查找的内容 最后回车。查找下/上一个单词所以位置用n/N
    u 返回上一步操作,Ctrl+R撤销
    :set nu //显示行号

    12、移动/修改 --文件、文件名
    mv test.log test1.txt //修改文件名为test1.txt
    mv test1.txt test3 //移动文件或文件夹(可多个同时)到test3目录下

    13、修改替换 --文件内容
    sed -i "s/aaa/bbb/g" 1.txt // 将文件1.txt内的文字“aaa”批量替换成“bbb”
    sed -i "s/aaa/bbb/g" 'ls' //将当前目录下的所有文件内的“aaa”替换成“bbb”,其实也就是ls出多个文件名
    sed -i "s/aaa/bbb/g" 'grep aaa -rl /home' //替换/home下所有文件中的aaa替换为bbb
    vi , vim (进入文件)--> i (进入可编辑状态)--> esc (退出可编辑状态)--> : (进入执行操作状态)--> wq, q!(保存退出, 不保存强制退出)

    14、复制 --文件、目录
    cp a.log test5 //复制到test目录中,,(带-a参数时,时间也是一致的)
    说明:目标文件存在时,会询问是否覆盖。这是因为cp是cp -i的别名。
    cp -a test3 test5 //复制整个目录到test5
    说明:目标目录存在时,整个源目录(包括自身目录)被复制到目标目录里面;不存在,就创建test5,里面内容同test3
    cp -r dir1 dir2 //(包括子文件夹)复制到dir2文件夹,-r:递归recursion,-f:强制force(慎用)

    15、创建目录
    mkdir test1 //创建一个空目录,touch:新建空文件
    mkdir -v test2 //创建新目录,并显示创建信息
    mkdir -p test3/test3_1 //递归创建多个目录
    mkdir -vp test4/test4-1 //递归创建多个目录,并显示创建信息
    mkdir -m 777 test5 //创建权限为777的目录 ,test5 的权限为rwxrwxrwx

    16、删除 --文件、目录
    rm a.log //删除文件file,系统会先询问是否删除
    rm -i *.log //删除任何.log结尾的文件;删除前逐一询问确认
    rm -r test1 //将 test1子目录及子目录中所有档案删除 ,会询问,-r:递归
    rm -f a.log // 强行删除file,系统不再询问, 慎用
    rm -- -f //删除以 -f 开头的文件
    rmdir folder1 //删除空目录,非空目录删不了,只能用rm命令

    17、用户管理
    useradd xiaoming //增加xiaoming用户
    passwd xiaoming //接着输两次密码
    chown user1 /home/weblogic //把home目录下的weblogic目录的拥有者改为user1用户
    chgrp group1/home/weblogic //把home目录下的weblogic目录的所属组改为group1组
    cat /etc/passwd //查看用户列表(nscd下面为新建用户) ,w 查看活跃用户
    cat /etc/group //查看组列表
    awk -F":" '{print $1}' /etc/passwd //只查看所有的用户名
    lastlog //查看所有用户(登录情况)x

    18、解压、打包
    tar -xzvf file.tar.gz //解压tar.gz包 至当前目录
    tar -czvf /root/filename_$(date +%Y-%m-%d).tar.gz /home/weblogic/files //打包(.tar.gz)
    tar -xvf file.tar //解压 tar包
    unrar file.rar //解压rar
    unzip file.zip //解压zip

    19、RPM管理
    rpm -ivh 目录/安装包名 //i:安装,v:显示进度条,h:显示安装信息
    rpm -q mysql(软件名) //查看是否已经安装mysql
    rpm -e samba(软件名) //卸载samba

    20、乱码
    export LANG=en_US //设置成英文,乱码时用

    21、防火墙 --开,关
    service iptables start/stop //开启/关闭防火墙,即时生效,重启后失效
    chkconfig iptables on/off //重启后永久生效

    22、设置网络 --ip
    ifconfig //查看ip情况,cmd是ipconfig
    ifconfig eth0 192.168.0.10 netmask 255.255.255.0 //方法1,设置(eth0)ip,立即生效,重启后失效
    ifconfig eth0 up //连接eth0网络
    vi /etc/sysconfig/network-scripts/ifcfg-eth0 //方法2-1重启后永久生效,重启机器,IP不会丢失
    setup //方法2-2, 界面配置,(需要root用户)
    /etc/rc.d/init.d/network restart //运行该命令,使方法2-1,2-2的设置生效

    23、远程登录
    ssh 用户名@ip地址 //回车输入密码 ,登录到远程机器

    24、远程文件传输
    sftp 用户名@ip地址 //回车输入密码,登录到远程sftp
    put /local_path/file /remote_path/ //上传
    get /remote_path/file ./yb/ //下载, 到本地当前目录的yb文件夹中
    help //查看sftp支持的命令
    (推荐:不用先登录,更方便)
    scp /local_path/file user@ip:/remote_path/ //上传
    scp user@ip:/remote_path/file /local_path/ //下载

    25、任务调度
    crontab -l //查看有哪些定时任务
    crontab -e //设置定时任务,进入添加定时任务文件中
    格式 //minute hour day month week command
    00 23 * * * /root/backup_nohup.sh //每晚11点执行,(分0-59 时0-23 日1-31 月1-12 星期0-6)
    0 2 * * * date >> /home/mydate2 //每天凌晨2点,将系统时间追加写到mydate2文件中
    crontab -r //终止任务调度(删除了crontab -e 的内容),-r:remove,小心使用
    调度多个任务:
    直接在crontab -e 中写多行 //方法一,不推荐
    把多个任务都写到一个可执行文件中 //方法二,shell编程,推荐
    vi /root/mytask.sh //在mytask.sh中写任务,然后在crontab -e 中调度mytask.sh执行文件即可

    26、系统性能、内存
    free -m //查看服务器内存使用情况,-g:G为单位,-m:M为单位
    top //(动态)查看系统CPU运行情况,按q退出,或ctrl+c
    top -d 10 //10秒刷新一次
    按u //可选择显示那个用户的情况
    cat /proc/cpuinfo //查看CPU的信息
    reboot //重启服务器(用root用户登录)
    vmstat 1 4 //监控Linux服务器的整体性能
    uptime //查看Linux服务器的平均负载
    w //详细查看负载
    fdisk -l //查看硬盘及分区信息
    df -h //检查文件系统的磁盘空间占用情况
    iostat -d -x -k 1 5 //查看硬盘的I/O性能
    du -sh /bin/ //查看指定目录的大小
    du -cks * | sort -rn |head -n 10 //查看当前目录下的文件占用率
    lsmod |grep ip //查看系统已载入的相关模块

    27、 linux系统启动过程:
    a)BIOS自检
    b)启动GRUB/LILO
    c)运行linux内核并检测硬件
    d)运行第一个进程init
    e)init读取系统引导配置文件 etc/inittab中的信息进行初始化
    f)/etc/rc.d/rc.sysinit //系统初始化脚本,比如,启动的内容,用户密码
    g)/etc/rc.d/rcX.d/[KS]* //根据运行级别x配置服务;终止"K"开头的服务,启动"S"开头的服务
    h)/etc/rc.d/rc.local //执行本地特殊配置
    i)其他特殊服务

  • 相关阅读:
    vi删除前n个字符
    ubuntu自定义登录session和桌面环境
    linux出错处理
    获取用户id
    c关键字控制语句运算符小结
    红帽Linux启动流程详解
    C语言中的文本流与二进制流的区别
    c简单排序字符串
    linux挂载磁盘优盘
    strcpy之段错误
  • 原文地址:https://www.cnblogs.com/mike357/p/15122812.html
Copyright © 2020-2023  润新知