Linux系统常用命令
相关英语:
manual [ˈmænjuəl] 手册;说明书;
recursive [rɪˈkɜːsɪv] 递归的;循环的
prompt [prɒmpt] 提示
authentication [ɔːˌθentɪˈkeɪʃn] 身份验证;
terminate [ˈtɜːmɪneɪt] 终止;(使)停止;
symbolic link 软连接
configure [kənˈfɪɡə(r)]配置
基本补充命令:
clear 清空屏幕;
man 打开命令说明手册
yum install bash-completion -y 安装后按tab,可自动补全命令
目录
作用 | 命令 | 对应英文 | 示例 |
查看当前工作目录 | pwd | print work directory | |
查看当前目录下所有目录和文件 | ls | list | ls -a 查看所有目录和文件(包括隐藏的文件) ls -l 或 ll 列表查看所有目录和文件(列表查看,显示更多信息) |
切换到指定目录 | cd [目录名] | changge directory | cd / 切换到根目录 cd /usr 切换到根目录下的usr目录 cd .. 切换到上一级目录 cd ~ 切换到home目录 cd - 切换到上次访问的目录 |
创建目录 | mkdir [目录名] | make directory | mkdir /home/dog 在home下创建dog目录 mkdir -p /home/animal/tiger -p创建多级目录 |
删除空目录 | rmdir [目录名] | remove directory | rmdir user 删除user目录 |
删除目录、文件 | rm | remove | rm -rf /home/animal 强制递归删除animal整个文件夹 |
移动、剪切重命名文件或者目录 | mv [源文件] [目标文件] | move (rename) files | mv cat.txt miao.txt 将cat重命名为miao mv pig.txt /root 将pig移动到/root下 |
复制文件或者目录 | cp [源文件] [目标文件] | copy | copy -i 覆盖文件前提示 copy -r /home/bbb /opt 递归复制bbb下的整个目录到opt下 \cp -r /home/bbb /opt 强制覆盖不提示 |
在指定目录下搜索文件 | find [目录名] | find /usr/tmp -name 'a*' 查找/usr/tmp目录下的所有以a开头的文件 | |
挂载 | mount [-fnrsvw] [-t vfstype] [-o options] device dir | mount a filesystem | |
卸载 | umount DEVICE |
ls通配符的使用
通配符 | 含义 |
---|---|
* | 代表任意个数个字符 |
? | 代表任意一个字符,至少 1 个 |
[] | 表示可以匹配字符组中的任一一个 |
[abc] | 匹配 a、b、c 中的任意一个 |
[a-f] | 匹配从 a 到 f 范围内的的任意一个字符 |
注意:以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示
文件
作用 | 命令 | 对应英文 | 示例 |
创建空文件 | touch | touch test.txt 创建一个名为test的空文件 | |
编辑文件 | vim | vim a.java 进入一般模式 i(按键) 进入插入模式(编辑模式) ESC(按键) 退出 | |
查看文件 | cat | concatenate | cat -n a.java 查看a.java文件的内容,-n显示行号 |
查看文件 | more | more a.java 从第一页开始查看a.java文件内容,按回车键一行一行进行查看, 按空格键一页一页进行查看,q退出; | |
实时查看文件后几行 | tail -f [文件名] | tail follow | tail -f a.java 实时查看a.java文件的后10行内容; |
查看文件前几行 | head | head -n 7 a.java 查看a.java文件的前7行内容(默认十行); | |
比较两个文件的差异 | diff [文件1] [文件2] | different | diff log2014.log log2013.log -y -W 50 以并排格式输出比较结果 |
显示一段文字 | echo | echo [ˈekəʊ] 回声;重复 | echo $a 输出变量a的值 echo `date` 输出当前时间 echo * 打印所有文件名 |
输出定向 | > | ls -l /home > info.txt 将home下的文件列表覆盖写入info.txt中 | |
追加 | >> | cal >> /home/mycal 将日历信息追加写入mycal文件中 | |
软链接 | ln | link | ln -s /root /home/myroot 在home下创建软连接连接到root |
管道 :将前面的stream交给后面的继续处理,可叠加:
cat -n a.java | more
用户
命令 | 对应英文 | 作用 | 示例 |
sudo | super user to do | 切换到管理员权限 | sudo -i 切换到管理员 sudo -l 列出目前的权限 |
chmod [mode] [file] | change file mode bits | 修改文件权限 | chmod u=rwx,g=rw,o=wx a.txt 给a文件的所有者读写执行的权限,给所在组读执行权限,给其它组写执行权限 chmod g+w a.txt,意思是group组加上对文件a的write权限 数字表示法: r=4 w=2 x=1 rwx=4+2+1=7 chmod u=rwx,g=rx,o=x a.txt 相当于 chmod 751 a.txt |
useradd | 建立用户帐号 | #useradd -u 544 -d /usr/testuser1 -g users -m testuser1 建立一个新用户账户testuser1,并设置UID为544,主目录为/usr/testuser1,属于users组,加-m 如果主目录不存在则自动创建 | |
usermod | 修改用户账号 | usermod -l Linux linuxcool 将用户 linuxcool 的名称更改成 Linux | |
userdel | 删除用户账号 | sudo userdel -r john 将john的账号删除,同时删除其主目录和mail spool | |
passwd [options] [username] | 更新用户密码 | passwd 修改当前用户密码(会弹出对话) | |
groupadd | 创建组群 | grouadd -g 800 china 创建组群,并设置组群GID为800 | |
groupdel | 删除组群 | groupdel demon 删除demon组 |
系统
命令 | 对应英文 | 作用 | 示例 |
ps | Process Status | 显示进程状态 | ps -a - 列出所有运行中/激活进程 |
pstree | 显示进程的树状图 | ||
top | 实时监控进程 | ||
kill [pid] | 终止进程 | ||
free | 显示系统使用和空闲的内存情况 | free -m 以MB为单位显示内存使用情况 | |
df | display file system disk space usage | 显示linux系统服务器文件系统的磁盘使用情况 | df -h 以KB、MB、GB的单位来显示,可读性高~~~(最常用) |
date | 显示系统时间 | date -d "-1 day" +"%Y-%m-%d" 格式化输出一天前的时间2015-12-07 date -s "01:01:01 2012-05-23" 设置系统当前时间 | |
ln -s [源文件] [目标文件] | link | 为文件设立“快捷方式” | ln -s aa.txt /root/bb 把aa.txt文本文档连接到linux下/root目录下bb(加-s是软连接,相当于快捷方式) |
网络
命令 | 对应英文 | 作用 | 示例 |
ifconfig | configure a network interface | 配置网络接口 | ifconfig enp0s3 显示接口 ifconfig enp0s3 down 关闭接口 |
ping | (Packet Internet Groper) | 测试网络连接量 | ping www.baidu.com 检查本网或本机与外部的连接是否正常 |
netstat | 显示端口的网络连接情况 | netstat -a 列出所有端口状态 | |
scp | secure copy (remote file copy program) | 远程拷贝文件 | scp -r LocalFileName RemoteHostIp:RemoteFolder 本地文件复制到远程 scp -r RemoteHostIp:RemoteFolder LocalFolderName 远程目录复制到本地 |
ssh | Secure Shell | 远程连接 | ssh 用户名@IP 登录远程服务器 |
telnet | 查看端口占用情况 远程登陆 | telnet 192.168.120.206 尝试访问远程主机 | |
wget | get from web | 下载文件 | wget url 简单下载 wget -0 url 设置不同文件名下载 |
rz | Receive ZMODEM | 上传文件(服务器接收文件) | rz -E filname 如果同名则不会覆盖原文件 rz -y filename 覆盖同名文件 |
sz | sends one or more files with ZMODEM protocol. | 下载文件 | sz filename1 filename2 下载多个文件 |
tcpdump | 抓取数据包 | tcpdump tcp port http 指定特定端口进行过滤 |
程序
命令 | 对应英文 | 作用 | 示例 |
gcc | GNU Compiler Collection | GNU编译器套件 | |
gdb | 程序调试工具 | ||
man | manual | 帮助指令 | man -f ls 显示ls命令的简短描述信息 |
makefile | “自动化编译管理器” | ||
CMAKE | 项目管理工具 |
其他
作用 | 命令 | 对应英文 | 示例 |
正则表达式文本搜索工具 | grep [options] ‘pattern’ filename | global search regular expression(RE) and print out the line | grep "quail" /etc/passwd 查找/etc/passwd文件中是否存在quail用户信息 |
行编辑器 | sed | Stream Editor | sed '3ahello' 1.txt 向第三行后面添加hello sed '/123/ahello' 1.txt #向内容123后面添加hello,如果文件中有多行包括123,则每一行后面都会添加 |
计算文件的行数、字数和字节数 | wc | word count | wc /home/linuxy/passwd-10 统计/etc/passwd 前 10 行的行数、字数、字节数 |
打包 | tar | tar -cf all.tar *.jpg // 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。 tar -czf jpg.tar.gz *.jpg // 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩, 生成一个gzip压缩过的包,命名为jpg.tar.gz tar -zxvf file.tar.gz // 解压 tar.gz | |
文件压缩 | gzip | GNUzip | gzip xxxx.txt //压缩 gzip -r /home/* //( -r 递归压缩) gzip -d xxx.gz //解压缩 |
软件包管理器,解决:下载、依赖关系、安装、卸载 | yum | (Yellow dog Updater, Modifified) | yum -y install httpd//安装httppd,y表示all yes yum update package1 //更新指定程序包 yum clean//清除缓存目录下的软件包及旧的header yum remove package1//卸载 |
安装包管理 | apt | Advanced Packaging Tool |