Linux常用命令整理(备忘录)

主题 ==> [序号]

  • 开关机 ==> [1-6]
  • 启动X-Windows ==> [7]
  • 日期/时间 ==> [8-10]
  • 公告/清屏 ==> [11-12]
  • 帮助 ==> [13-18]
  • 系统设定 ==> [19-20]
  • 网络命令 ==> [21-26]
  • 系统信息查询 ==> [27-38]
  • 查看历史命令 ==> [39]
  • 账号管理 ==> [40-51]
  • 目录与路径 ==> [52-60]
  • 文件查看 ==> [61-69]
  • 文件新建 ==> [70]
  • 文件编辑 ==> [71]
  • 文件复制/移动/删除 ==> [72-74]
  • 链接文件 ==> [75]
  • 挂载设备 ==> [76-77]
  • 修改文件权限 ==> [78-81]
  • 搜索文件or目录 ==> [82-85]
  • 查找字符串 ==> [86-88]
  • 显示 ==> [89]
  • 用户切换 ==> [91-92]
  • 进程管理 ==> [93-99]
  • 硬盘管理 ==> [100-103]
  • 打包 ==> [104]
  • 压缩 ==> [105-113]
  • 安装 ==> [114-118]
  • 系统服务 ==> [119-120]
  • 任务计划 ==> [121-129]
  • Bash ==> [130-160]
  • 计算器 ==> [161]
  • 端口查看、关闭 ==> [162-164]


Linux常用操作命令合集

主题 命令 作用 参数 备注
1 开关机 shutdown 关机或重启 -r 重启
-h 关机
-k 警告
-c 取消
shutdown -r now
shutdown -h now
shutdown -r +1
shutdown -r 11:30
2 reboot 重启 reboot
3 init 运行级别 0 关机
3 命令行模式
5 图形界面
6 重启
init 0
4 halt 硬件关机 halt
5 poweroff 硬件关机 -f 强行关机 poweroff
poweroff -f
6 sync 将内存中数据回填到硬盘 sync;sync
7 启动X-Windows startx 进入X-Window 进入X-Windows后可以用logout注销回到命令行
8 日期/时间 cal 日历 cal 2011
cal 03 2011
9 date 日期 -s 修改日期
date +%Y/%m/%d 按指定格式显示日期
date -s 07/13/2011
date -s 11:55:00
clock --systohc 将时间保存到硬件
date 071610512011 月日时分年
hwclock -w 写入主板芯片
10 time 计算某个命令执行所耗费时间 time sh myshell.sh 运行myshell.sh这个脚本所花的时间
11 公告 wall 广播 wall hello
12 清屏 clear 清屏 clear
13 帮助 whatis 命令介绍 whatis ls
14 apropos 帮助一览
15 help 帮助 help cd
16 --help 帮助 ls --help
17 man 参考手册 可以像在vi里一样使用斜杠来查找字符串 man ls | more
18 info 相关信息 info ls
19 系统设定 setup 系统设定工具 修改/etc/sysconfig的内容
20 locale 显示语系 -a 显示所有支持的语系 locale -a
cat /etc/sysconfig/i18n
21 网络命令 ifconfig 查看IP
设置IP
启用网卡
禁用网卡
ifconfig
ifconfig eth0 172.168.0.201 netmask 255.255.0.0
ifconfig eth0 up
ifconfig eth0 down
22 ifup 启用网卡 ifup eth0
23 ifdown 禁用网卡 ifdown eth0
24 route 路由
25 netstat 显示Tcp/IP网络状态 -a 显示所有的socket
-n 以IP地址显示
-p 显示进程号
netstat -na
26 netconfig 配置网络 修改的内容实际在 /etc/sysconfig/network-scripts 中
27 系统信息查询 whoami 查看自己是谁
28 who am i 查看自己账号及登录信息 通过su可以看到whoami和who am i的不同
29 who 查看当前系统在线用户 who
30 w 查看当前系统在线用户 who
31 last 查看这个月的用户登录信息 last
32 hostname 查看自己的主机名 hostname
33 uname 列出系统信息 -a 查询所有 uname -a
34 dmesg 查看开机启动信息 dmesg
35 uptime 查看开机时长 uptime
36 id 查看自己及所属的组的信息 id
37 finger 查看用户信息 -s 完整列出 finger -s username
38 groups 查看自己属于哪些组 groups root
39 查看历史命令 history 历史命令 history | tail -10
可以用!n执行第n条历史,!!执行最后一条命令
40 账号管理 newgrp 登录另一个组 类似login动作
41 groupadd 添加组(在/etc/group) groupadd testing
42 groupdel 删除组 groupdel test
43 groupmod 修改组 groupmod -n test testing
44 gpasswd 修改组的密码
45 useradd 添加用户 -g useradd zhangsan
46 userdel 删除用户 -r 连用户主目录一起删除 userdel -r zhangsan
47 usermod 编辑用户 -g 修改所属组
-d 修改主目录
usermod -g test51 root
usermod -d /home/lisi zhangsan
48 passwd 修改用户的密码 passwd zhangsan
备注:如果忘记root密码,可以在开机时按下e进入grub编辑模式,移到kernel所在行,在最后的rhgb quiet后输入 single。按回车确定后,按下b进入single模式。然后输入passwd修改密码。
49 chsh 修改用户的默认SHELL
查看SHELL
-l
-s
chsh -l 查看shell
chsh root 修改root的默认shell
50 chfn 更改注释字段
51 userconf
52 目录与路径 cd 进入到某个目录下 ~ 进入指定用户的主目录
- 返回之前进入的目录
cd ~zhangsan
cd ~
cd
cd -
53 pwd 显示当前目录的全路径 pwd
54 ls 列出当前目录下的文件和目录 -l 详细信息
-m 以逗号分割
-a 显示隐藏文件
-r
-t
-R
-x
ls -lrt
ls -la
ls -R
55 ll 列出当前目录下的文件和目录 等价于ls -l --color=tty (有颜色)
56 vdir 列出当前目录下的文件和目录 等价于ls -l (无颜色)
57 mkdir 新建目录 -p mkdir -p /dir1/dir2/dir3/dir4
58 rmdir 删除空目录 -p rmdir dir1
59 basename 获取文件名 basename $0
60 dirname 获取目录名 dirname $0
61 文件的查看 cat 显示文件内容 -n 对输出行编号
-v 显示控制字符
-b 和-n类似,但空白行不编号
cat /etc/profile
cat ~/.bash_profile
cat -b file1 file2 file3
cat -v file1 DOS下的换行符会以^M显示
62 tac 逆向输出文件内容 tac myfile
63 nl 显示文件内容 nl myfile
64 od 以八进制显示文件内容 od myfile
65 more 分页显示内容 more myfile
66 less 分页显示内容(可以上下翻页) less myfile
67 head 显示文件前面几行的内容 -n head -n 10 /etc/passwd
68 tail 显示文件后面几行的内容 -n tail -n 20 /etc/passwd
69 strings 查看二进制文件中的可打印字符 strings /bin/ls
70 touch 新建文件
更新文件时间
touch myfile
71 文件的编辑 vi 编辑文件内容 编辑模式:a/i/o
命令模式:冒号或者斜杠或者问号
一般模式:上下左右hjkl
常用的:x dd ndd u n $ G L
72 文件的复制、移动和删除 cp 拷贝 -R 递归 cp hello.txt /opt/test/hello.cp
73 mv 移动
重命名
-f 连同子目录一起
-i
mv hello.txt /opt/test/ok.txt
74 rm 删除 -r
-f 强制删除
-i
rm -rf / 此命令慎用!
75 链接文件 ln 连接 -s 建立符号链接
-d 建立硬链接(默认,可以不写)
ln -s /root/myfile /s_myfile
ln -d hello.txt dhello
76 挂载设备 mount -t 文件系统有vfat/iso9660,装优盘前先用fdisk -l查看
mount -t vfat /dev/sdb1 /mnt/udisk
mount -a
77 umount -f 强制将该文件系统退出 umount -a
umount /home
78 修改文件权限 chgrp 切换组改变文件的所属组 -R 递归 chgrp mary /opt/test
chgrp -R mary /opt/test
79 chown 改变文件的所有者 -R 递归 chown -R mary /opt/test
80 chmod 修改权限 -R 递归批量修改 chmod u=rwx,og=rx .bashrc
chmod a+w .bashrc
chmod a-x .bashrc
chmod -R 777 /home/test
81 chattr 改变文件的特殊属性 +i 属性不可更改
-i 属性可以更改
chattr +i myfile 文件删不掉
82 搜索文件或目录 which 查看可执行文件的位置 which ls
83 whereis 查看文件位置 whereis ls
84 locate 配合数据库查看文件位置 locate ls
首次先要用updatedb初始化一下数据库
85 find 搜索硬盘上的文件 -name
-type
-size
-newer
-user
-group
-amin
-atime
-cmin
-ctime
-perm
find / -name man
find /home -amin -10 十分钟内访问过的文件
find /home -atime -10 十天内访问过的文件
find /home -cmin -10 十分中内修改过的文件
find /home -ctime +10 十天内被改过、新增的文件
find /home -size +1000c 大于1000bytes的文件
find . -perm 777 权限是777的所有文件
find . -path "./test" -prune -o -name "hello"
find . -user mary
find . -group dev
find . -newer hello.txt 比hello还要新的文件
find . ! -newer hello.txt
find . -type d 找目录
find / -name vmware-tools查找根目录下名字为"vmware-tools"的目录
find . -perm 764 -exec rm {} ;
find . -perm 764 -ok rm {} ;
find . -perm 764 | xargs rm -f
find . -name 'a' -prune 文件名包含a,目录名不包含a
find . -size +1000c | xargs touch
86 查找字符串 grep reGulaR ExPression -i 忽略大小写
-n 显示行号
-v 取反
grep "^ma" /etc/passwd
grep "bash$" /etc/passwd
grep "^[r|d]" /etc/passwd
87 egrep
88 fgrep
89 显示 echo 显示、打印 -e 使转义符生效 echo -e "hello\tworld"
echo -e """"
90 用户切换 su 切换用户 -
91 sudo 以其他用户的身份执行命令 只有/etc/sudoers内的用户才有权限执行。用visudo编辑
92 visudo 用vi编辑/etc/sudoers文件 在文件中的 root ALL=(ALL) ALL下面加一行:
zhangsan ALL=(ALL) ALL
93 进程管理 ps 查看进程(静态) -e 显示所有进程
-f 全格式
ps -ef
94 pgrep 类似于ps -ef | grep
95 top 查看进程(动态) -d 指定刷新频率(秒)
-n 输出n次后退出
u 显示指定用户进程
k 杀掉进程
第一行的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载(小于0.6较妥)。
第二行为进程情况,依次为进程总数、休眠进程数、运行进程数、僵尸进程数、终止进程数。
第三行为CPU状态,依次为用户占用、系统占用、优先进程占用、闲置进程占用。
第四行为内存状态,依次为平均可用内存、已用内存、空闲内存、共享内存、缓存使用内存。第五行为交换状态,依次为平均可用交换容量、已用容量、闲置容量、高速缓存容量。
top -d 1
96 kill 杀掉进程 -9 强行杀掉进程
-2 中断进程
-15 停止进程(默认)
kill -9 PID
97 free 查看内存使用情况 free
98 nice 调整程序的执行优先级 nice -n -5 find / -name core > /tmp/core
99 renice 通常和ps配合使用
100 硬盘管理 df 查看磁盘使用情况
查看目录在哪个分区下
-h 以易读方式显示
-l
df
df /boot/
df -h
101 du 查看文件已有容量 -k 以KB输出
-m 以MB输出
-s 只列出总量
du -m /home
du -s
du -sk hello.txt
102 fdisk 分区
查看分区的具体情况
-l
103 mke2fs
104 打包 tar 打包
解包
-c
-v
-f
-x
-z
tar -c mydir > mydir.tar
tar -cvf test.tar /opt/test
tar -xvf test.tar
tar -zcvf hello.tar.gz hello.txt
tar -zxvf hello.tar.gz
105 压缩 gzip 解压缩 -d gzip hello.tar
gzip -d hello.tar.gz
106 gunzip 解压 gunzip hello.tar.gz
107 zip 压缩 -r zip file.zip *
zip m file.zip to.txt
zip -r file.zip *
108 unzip 解压 unzip hello.zip
unzip -v hello.zip
109 zcat 显示压缩文件的内容
110 zmore 显示压缩文件的内容
111 zless 显示压缩文件的内容
112 zgrep 查找压缩文件的内容
113 zdiff 比较压缩文件的不同
114 安装 gcc 编译 -o 指定目标文件 gcc hello.c
gcc -o hello.o *.c
115 configure 生成makefile文件 --help
-h 帮助说明
./configure --help
116 make 编译 make 编译生成目标文件、可执行文件
make install 安装程序
make clean 去除目标文件
117 rpm 软件包管理器 -ivh 安装
-Uvh 升级
-e 卸载
-e --nodeps强卸
-q 查询
-V 验证
rpm -qa 列出所有安装过的套件和版本
rpm -qi 列出这个套件的详细信息
rpm -ql 列出这个套件安装后的文件和路径
rpm -qf 查询某文件属于那一个套件
118 yum yum search raid
yum info mdadm
yum list
yum install pam-devel
119 系统服务 chkconfig 开机自动启停服务 --list 列出所有服务
--add 添加服务
--del 删除服务
chkconfig vsftpd on
chkconfig sshd on
chkconfig iptables off
chkconfig --add httpd
chkconfig --del httpd
chkconfig --level 35 httpd on
120 service 立即启停服务 start 启动
stop 停止
restart 重启
status 查看
service network restart
service iptables stop
service vsftpd start
service iptables status
121 任务计划 tab键 命令自动补全 按一下会自动展开;
按两下会列出所有命令
122 nohup 不挂断的运行
123 & 后台运行 command &
124 Ctrl+Z 后台运行
125 jobs 列出作业
126 fg 前台 %number 表示jobs的工作代号 fg %2 后台程序切到前台
127 bg 后台 %number 表示jobs的工作代号 bg %1 将Stopped状态的后台程序改为Running状态
128 at 一次性运行的任务计划 -f 要提交的脚本
-r 清除
-l 罗列
at 3:00pm tomorrow -f /home/wuxh/hello.sh
at now + 5 minutes
129 crontab 循环运行的任务计划 -u 用户
-e 编辑crontab
-l 罗列
-r 删除crontab
格式: 分<>时<>日<>月<>星期<>要运行的命令
45 4 1,10,22 * * /apps/bin/backup.sh
130 Bash bash 执行脚本 bash helloworld.sh
./w.sh
131 重定向符 > 标准输出 command > out.file 2>&1 &
command 2> err.txt >&2
132 重定向符 >> 追加 cal >> c.txt
133 重定向符 2> 标准错误 ls ddd 2> /dev/null
134 重定向符 < sort < name.txt > name.out
135 重定向符 <<
136 正则表达式 . 匹配任意字符
^ 匹配行首
$ 匹配文件尾
[] 匹配字符组之一
* 匹配0到n个字符
{min,max}
(…)
XXX* 匹配至少两个连续的X
X{1,10} 匹配1到10个连续的X
^(.) 匹配行首的第一个字符(不管是什么
137 管道符 |
138 双引号 引用字符串,但对$,`,\敏感 "" echo "$$"
echo "\$$"
139 单引号 引用字符串,对特殊字符不敏感 '' echo '$$'
140 反引号 将反引号内的字符串作为命令 `` echo `date`
141 命令集 一行中执行多个命令 ① ; 顺序执行
② && 前面成功后续才执行
③ || 前面失败后续才执行
ls;ls
ls&&ls
ls||ls
142 wc 统计字数 -l 统计行数
-c 统计字符
-w 统计字
cat /etc/passwd | wc -l
143 sleep 等待 sleep 5 暂停5秒
usleep 500 这个单位是纳秒
144 read 从键盘读入信息到变量中 read name
145 变量赋值 PATH="$PATH":/root
LANG=C
LANG=zh_CN.gb2312
PS1='[\u@\h \W]$ '
146 set 显示当前shell的变量,包括当前用户的变量(即环境变量) set
147 unset 删除变量 unset i
148 export 把变量即刻导入到当前的用户环境中(被export的变量叫环境变量),这时可以在env中看到 环境变量相当可以被子进程使用,其他变量不行。 export LANG=C
export LC_ALL=en
149 env 显示当前用户环境的变量(被export的变量可以用env查看到) env
150 alias 命令别名 alias ll
alias l=ls -la
151 unalias 取消命令别名 unlias l
152 sort 对文件内容做排序 -n 以数字排序
-r 反向排序
-u 同样的只出现一次
sort -n name.txt
153 cut 提取字符串 -c 字符
-d 分隔符
-f 字段
cat /etc/passwd | cut -d ":" -f1
last | cut -d " " -f1 列出第一个区块
who | cut -c1-8,18- 每行的1-8个字符和第18行到行尾
cut -d: -f1,6 /etc/passwd
154 paste 和cut相反的命令,合并行 -d 指定合并的分隔符
-s 把文件内的所有行合并为一行
paste names numbers 把两个文件的每行都分别合起来
paste -d'+' names addresses numbers
paste -s names
ls | paste -d' ' -s
155 diff 比较两个文件的不同 diff file1 file2
156 uniq 删除重复行从而只显示一个 last | cut -d " " -f1 | sort | uniq
查看这个月登录主机的用户都有谁
157 source 执行脚本 source helloworld.sh
158 tee 输出到文件的同时显示在屏幕上 -a 追加到末尾
159 tr 替换指定内容 -d 删除指定串
-s 替换重复字符
160 split 分割文件 -b 以文件size分
-l 以行数分
split -l 5 /etc/passwd test
161 计算器 bc 用quit退出
162 查看端口占用 lsof 查看指定端口所占用的进程 -i:端口号 lsof -i
lsof -i:xxxx
163 查看端口占用 netstat grep 端口号 netstat -ntlp
netstat -tunlp | grep xxxx
164 关闭占用的端口 kill 强制关闭指定PID对应的进程 kill -9 PID kill -9 xxxx

你可能感兴趣的:(Linux常用命令整理(备忘录))