Linux常用命令

电源

关机 shutdown -h now ; poweroff ; init 0
重启 shutdown -r now ; reboot
注销 logout ; exit

系统

版本

操作系统 uname -a
内核版本 cat /proc/version
发行版本 cat /etc/issue ; lsb_release -a (需安装lsb)

计算机名

计算机名 hostname

CPU

CPU信息 cat /proc/cpuinfo

环境变量

显示所有的环境变量 env
显示所有Shell变量 set
显示环境变量 echo $HOME
定义环境变量 export HELLO=”Hello!”(在关闭shell时失效)
删除环境变量 unset TEST
查找环境变量 env|grep TEST
设置环境变量为只读 readonly TEST

附1:设置面向所有用户的永久变量
编辑/etc/profile文件,添加CLASSPATH变量:
  export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
运行source /etc/profile使此配置文件立即生效。
附2:设置面向特定用户的永久变量
编辑guok用户目录(/home/guok)下的.bash_profile,添加CLASSPATH变量:
  export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
运行source /home/guok/.bash_profile使此配置文件立即生效。
附3:设置面向特定shell的变量
在shell的命令行下直接使用export命令定义变量,shell关闭了,变量也就失效了。

用户

活动用户 w
指定用户信息 id <用户名>
用户登录日志 last
系统所有用户 cut -d: -f1 /etc/passwd
系统所有组 cut -d: -f1 /etc/group
当前用户的计划任务 crontab -l
在线登陆用户 who
在线登陆用户个数 who | wc -l
当前操作用户 whoami
存储用户账号 /etc/passwd
存储组账号 /etc/group
存储用户账号的密码 /etc/shadow
存储用户组账号的密码 /etc/gshadow
存储系统环境变量 /etc/profile
存储用户环境变量 /home/<用户名>/.profile ; /home/<用户名>/.bashrc
增加用户 useraddadduser
删除用户 userdel
增加用户组 groupadd
删除用户组 groupdel
用户设置密码 passwd
切换用户 su user (加载配置.bashrc)
切换用户 su - user (加载配置/etc/profile)
更改文件所属的用户及用户组 sudo chown root:root jdk-7u21-linux-i586.tar.gz

服务

列出所有系统服务 chkconfig –list(redhat) ; service –status-all(debian)
列出所有启动的系统服务 chkconfig –list | grep on(redhat) ; service –status-all | grep +(debian)
查看SSH服务状态 service ssh status

日期和时间

当前时间 date(字符) ; date +%s(整型)
转换字符型时间戳到整型 date -d 2008-01-01 +%s ; date -d 20080101 +%s
转换整型时间戳到字符型 date -d @1416387827
查看时区 date -R(-0800西八区,美国旧金山;+0800东八区,中国)

程序和功能

查看所有安装的软件包 rpm -qa(redhat) ; sudo dpkg-query -l(debian)
安装软件 dpkg -i tree_1.5.3-1_i386.deb(debian) ; apt-get install tree(debian)
卸载软件 dpkg -r tree(debian) ; apt-get remove tree(debian)
更新软件列表 apt-get update(debian)
更新软件 apt-get upgrade(debian)
转换.rpm文件为.deb文件 sudo alien abc.rpm

设备管理器

PCI设备 lspci
USB设备 lsusb
加载的内核模块 lsmod

磁盘管理器

所有磁盘 ls /dev/sd*
将sda磁盘分区5格式化为ext3类型 mke2fs -t ext3 /dev/sda5
挂载磁盘sda分区1到 /udev 目录 mount /dev/sda1 /udev
磁盘分区情况 df -h ; fdisk -l
挂接的分区状态 mount | column -t
所有交换分区 swapon -s
磁盘参数 hdparm -i /dev/hda(仅IDE设备)
启动时IDE设备检测状况 dmesg | grep IDE

文件资源管理器

读 R(数值为4)
写 W(数值为2)
可执行 X(数值为1)
目录大小 du -sh <目录名>
显示目录信息 du -h /home
创建空文件 touch
创建文件test,并复制中断输入至此文件,Ctrl+D结束 cat > test
创建带有内容的文件 echo
显示test.c文件中包含’}’字符串的所有行并显示行号 less test.c | grep -n ‘}’
搜索某文件 find
在当前目录下查找文件长度大于100字节的文件 find . -size +100c –print
在根目录匹配所有的文件然后再进入子目录中查找文件CON.FILE find / -name “CON.FILE” -depth –print
在当前目录所有文件中搜索字符串”hostname” find . -type f -print | xargs grep “hostname”
删除3天以前的所有东西 find ./ -mtime +3 -print|xargs rm -f –r
删除文件大小为零的文件 find ./ -size 0 | xargs rm -f
统计文本行数、字数 wc
树形结构显示目录 tree(需安装tree)
显示当前目录 pwd
创建链接文件 ln
分页显示文本文件内容 more ; less
显示文件头、尾内容 head ; tail
命令行全屏模式 ctrl+alt+F1
文件的详细信息 stat
只打包,不压缩 tar -cvf /home/abc.tar /home/abc
打包,并用gzip压缩 tar -zcvf /home/abc.tar.gz /home/abc
打包,并用bzip2压缩 tar -jcvf /home/abc.tar.bz2 /home/abc
解压缩 tar -xvf /home/abc.tar /home/abc
解压缩 tar -zxvf /home/abc.tar /home/abc
解压缩 tar -jxvf /home/abc.tar /home/abc
修改文件权限 chmod u+x g+w o+r filename(-rw-r—-x改为-rwxrw-r-x)
修改文件权限 chmod 765 filename(-rw-r—-x改为-rwxrw-r-x)
文件类型 file filename

$file test
    test: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=0ea4e0ff4ecd8514c951b720a32ccfbb469b8172, not stripped
$file test.o
    test.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped
$file test.c
    test.c: C source, UTF-8 Unicode text

将一个二进制文件作为ELF目标文件中的一个段 objcopy -I binary -O elf32-littlearm -B arm image.jpg image.o
查看ELF可重定位文件 objdump -ht image.o
查看ELF文件详细信息 readelf -h image.o
显示文件中符号列表 nm test.a
去掉ELF文件中的调试信息 strip test.so
区分.so是否为地址无关代码(PIC) readelf -d test.so | grep TEXTREL(PIC的so不会包含任何TEXTREL——代码段重定位表地址)
查看可执行文件所需要的动态链接器的路径 readelf -l a.out | grep interpreter
查看ELF文件.dynamic段的内容 readelf -d Lib.so
查看程序主模块依赖的共享库 ldd a.out
查看当前进程的内存映像 cat /proc/self/maps
设置栈和映射从固定位置开始(默认为1) sysctl -w kernel.randomize_va_space=0
拷贝内存映像到文件 dd if=/proc/self/mem of=linux-gate.dso bs=4096 skip=$[0x76ffd] count=1

任务管理器

内存使用量和交换区使用量 free -m
查看内存总量 grep MemTotal /proc/meminfo
空闲内存量 grep MemFree /proc/meminfo
系统运行时间、用户数、负载 uptime
系统负载 cat /proc/loadavg
瞬间进程状态 ps -aux ; ps -ef
查看在当前目录下执行的进程 ps -a
查看进程的信息 ll /proc/<进程ID>
查看进程对应程序所在路径 ll /proc/<进程ID>/exe
查看进程对应程序所在目录 ll /proc/<进程ID>/cwd
查看进程运行时占用的描述符 ll /proc/<进程ID>/fd
实时进程状态 top
杀死进程 kill <进程ID>
查看消息队列 ipcs -q
查看进程的虚拟空间分布 cat /proc/<进程ID>/maps

网络连接

所有网络接口 ifconfig
防火墙设置 iptables -L
路由表 route -n
所有监听端口 netstat -lntp
所有已经建立的连接 netstat -antp
网络统计信息 netstat -s
扫描周边WIFI iwlist wlan0 scan

日志

查看内核启动日志 dmesg | lessless /var/log/dmesg

帮助文档

查看mkdir(2)帮助文档 man 2 mkdir
info

文本编辑

nano
vim

SHELL

清屏 clear
对命令ps -aux重命名 alias showmeit=”ps -aux”
解除命令showmeit unaliax showmeit
组合命令 grep -r “close” /home/* | more(在home目录下所有文件中查找,包括close的文件,并分页输出)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值