命令的一般格式:
命令名称 命令参数 命令对象(三者以空格分开)
命令对象一般是要处理的文件,目录,用户等资源。命令参数可以用长格式(完整的选项名称),也可以用短格式(单个字母的缩写),,两者分别用–与-作为前缀。
注意:用户执行命令没有权限时,需要在命令前加上sudo获取root权限
lsb_release -a 查看ubunt系统的版本
command --help 查看某一个命令的用法。
man command 查看命令解释。
上下箭头选择刚刚执行过的命令。
ll 列出当前目录下文件详细信息。==ls -l
ls 选项:-l 列出文件详细信息;单个ls显示文件名。
查看某一路径下的所有文件信息: ls -l 路径 ls -l /home/== ls -l /home
查看某个目录文件本身的信息:ls -ld 路径 ls -ld /home
-h 和-l配合用,以合适单位显示文件大小
-a 列出所有文件,包含隐藏文件
ls-1 |wc -l #第一是数字1,第二个是字母l。统计一个目录下的文件的个数
ls 目录名 列出目录下的详细内容。很高效。!!!!
ls -R directoryName #递归的查看一个目录下的子目录和文件
pwd 显示当前路径
clear 对终端清屏
touch [选项] filename 创建文件,参数是文件所在的路径。
touch filename.txt
touch -a "2017-05-04 15:44" filename 修改文件的读取时间(atime)为绿色值
touch -m "2017-05-04 15:44" filename 修改文件的修改时间(mtime)为绿色值
touch -m "2017-05-04 15:44" filename 修改文件的atime和mtime为绿色值
mkdir 创建文件夹。选项 -p 在未有的路径下创建多层文件夹。参数是创建路径。
mkdir -p aa/bb/cc aa/bb/dd #创建两个目录cc,dd。若是他们的目录不存在,则自动创建父
#默认创建的文件夹权限是775。若想自定义权限,则:
mkdir -m 777 aa 创建一个权限是777(rwxrwxrwx)的目录。
cat 查看纯文本文件内容(文本内容较少的),参数是文件路径
cat /etc/group 罗列所有的本地的群
cat /etc/grougrep sudo 查看特定的群sudo
cat /etc/passwd 本地用户登录的信息都存储在/etc/passwd文件中。它的每行代表一个用户。
cat /etc/sudoers 可以查看用户权限。
注意区分:很多文件权限都有设置,不要把它和cd命令混淆。
-n 显示行号
more 功能同cat。查看的纯文本内容较多
head [选项] [文件] 查看文本文件的前n行。如 head -n 20 filename
tail [选项] [文件] 查看文本文件的后n行或持续刷新内容。 tail -n 20 filename
tail -f filename #查看文件的持续刷新内容
history 显示历史命令 注: 查看到历史命令后,可以用感叹号加上对应命令的历史编号来执行历史记录里对应的命令, 如:!2019。
history -c 清空使用的命令记录
cd 切换工作目录,参数是文件路径名!
cd ~&路径 切换到当前用户主目录 cd ~切换到当前用户的家目录
cd .&路径 切换到当前目录
cd ..&路径 切换到上一级目录 cd .. 退回上一级目录
cd -&路径 进cd入上次所在的目录 cd - 切回前面那个路径
注意:可以查看当前目录,用cd+路径 就可以前往目标目录。
cd /;ls 回到根,查看根下的文件夹。可以熟悉目录结构。
ln 创建链接。 -s 对源文件建立符号链接。(软链接)
grep 文本检索。 -v 显示不包含匹配内容的项。
选项 -n 显示匹配的行和行号 -i 忽略大小写。
参数:检索内容和检索路径
whoami 显示当前用户名。
who 查看正在登录本机的用户名层,和他们正在开启的终端信息
last 显示本机的登录记录
grops/groups username 查用户所在的群组。通常用cat命令查看/etc/group文件即可。
sudo su 切换到root用户
su -l username 从当前用户切换到另一个用户。当前用户可以是root
ln -l filename linkname 给filename创建一个叫linkname的软链接
clear 清屏
du 查看文件大小
du -h aa/bb #查看目录bb下所有文件的大小。最后一行显示目录bb总管大小
du -h -d 2M asp #-d参数显示文件夹asp中大于等于2M的文件
du -h -s asp #显示文件夹asp的整个的大小
du -h --time asp #额外显示asp目录中文件上次更改的时间
du -h -a asp #显示asp目录下的所有文件夹的内容的大小
df #报告文件系统磁盘空间使用情况
df -h #以可读的方式显示
tree 查看当前目录结构
hostname 查看主机名
echo xxxxx 打印出xxxx echo "xx `hostname` xx" ==echo "xx $(hostname) xx"会将hostname换成主机名打印出来。注意:反引号在键盘~下面。一定要输完两个反引号,再向其中输入内容。当命令嵌套在另一个命令中,不会执行。加反引号或者$.
echo $变量名 输出一个变量的值
which command 查看命令所在路径
date 显示系统时间 date -s "20170901 8:30:00" 设置系统时间
uname -a 显示系统版本信息
uptime 查看系统负载信息
free -h 显示系统内存使用信息。cat /proc/meminfo 查看内存形象信息
sudo dmidecode -t memory #查看内存硬件信息
lscpu 显示cpu的统计信息。 cat proc/cpuinfo 查看每个cpu的信息
lsblk 查看磁盘和分区分布。 sudo fdisk -l查看详细信息
sudo dmidecode -t bios 擦好看bios信息
sosreport 收集系统配置及架构信息并输出诊断文档,需要加sudo提高权限
logger [options] [messages] 向日志写入信息
logger -p local5.debug "xxxx" 向设备local5的日志文件写入信息xxxx
grep [选项] [文件] 搜索命令 grep haproxy 搜索haproxy。
选项说明:
-b 将可执行文件当作文本文件来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择:仅列出灭有关键词的行
find [查找路径] 寻找条件 操作
用于文件搜索
选项说明:
-name 以文件名称查找
-size 以文件大小查找。
-perm 匹配权限
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n 指 n 天以内,+n 指 n 天以前)
-atime -n +n 匹配访问文件的时间(-n 指 n 天以内,+n 指 n 天以前)
-ctime -n +n 匹配修改文件权限的时间(-n 指 n 天以内,+n 指 n 天以前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件 f1 新但比 f2 旧的文件
--type(b/d/c/p/l/f)匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-prune 忽略某个目录
如: find ~ -name ".py"& 路径
ps [参数] 显示进程相关信息 常用ps -ef| grep haproxy
-a 显示现行终端下的所有进程(包括其他用户进程)
-u 显示用户以及其他详细信息
-x 显示没有控制终端的进程
linux中进程有常见5中状态:
R(运行):正在运行或在运行队列中等待
S(中断):进程处于休眠状态,但可以被某些信号唤醒。
D(不可中断):进程不响应系统异步信号,kill命令也无法将其中断
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()统函数后将进程释放。
T(停止):进程收到停止信号后停止运行
ps aux ==ps -a -u -x :段格式可以合并,只留一个 “-”。而ps命令又允许不加 “-”
pstree 以树状图形式显示进程的关系。pstree -p 同时显示进程id。
ps aux执行结果如下:
top #命令用于动态地监视进程活动与系统负载等信息。类似windows中的任务管理器
执行结果如下:
图片说明:
- 第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、5
分钟、15 分钟内的平均值,数值越小意味着负载越低)。 - 第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程
数。 - 第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
- 第4行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
- 第 5 行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
pidof [参数] [服务名称] 查询指定服务进程的pid。如:pidof sshd
kill [参数] [服务名称] 终止特定服务。kill 2012 #终止PID为2012的进程(该信号可能被进程忽略)
kill -9 pid #发送杀死进程的信号(该信号不能被进程忽略)
#若出现一些处于sleep状态的进程不断的以不同pid出现在top结果里,则用应用pstree查出其父进程,再用上述命令杀死父进程。
killall [参数] [服务名称] 终止一个服务打开的全部进程。常和pidof结合用
curl/elinks IP:Port 访问他特定的ip端口。如:elinks http://10.32.204.79:8080
reboot 执行此命令重启系统。需要root权限。poweroff 关闭系统
ifconfig [网络设备] [参数] #获取网卡和网络状态信息
ip a #ip address的简写形式,可以列出所有网卡信息。
ifconfig ens33 #列出网卡ens33的信息。等价于/sbin/ifconfig ens33
执行ifconfig结果如下:
说明:ens33是网卡名称。inet后面是IP地址,ether参数后面是网卡物理地址(又称为 MAC 地址)。RX packets,TX packet后的数字是接收包,发送包的个数以及累计流量。
tr [原始字符] [目标字符] #替换原始字符为目标字符。 cat filename | tr [a-z] [A-Z] #cat读取一个文件,通过管道传输到后面,再将小写转化大写
wc [参数] filename 统计文本的行数,字数,字节数。
wc -l filename 输出行数
wc -w filename 输出单词数
wc -c filename 输出字节数
stat filename 输出文件的存储信息和时间等信息
cut [参数] 文本 按列提取文本字符,分离文本的部分信息。
cat passwd.abk |cut -d : -f 2 #打开passwd.abk文件,传递到后面。-d和冒号指明按冒号分割。 -f 和2说明提取的是第二列。
diff --brief filename1 filename2 比较两文件是否相同。无输出则相同。输出filename1 passwd and filename2 differ,则说明二者文件不同。
diff -c filename1 filename2 #输出具体不同再哪里。前面有!的行不同。
cp [选项] 被复制文件名 复制文件名
若复制文件名是目录,则把被被复制文件复制到该目录下
若复制文件是普通文件,会询问是否覆盖它
若复制文件不存在,则正常复制
选项:
-p 保留原始文件的属性
-d 若被复制文件为链接文件,则保留该链接文件的属性
-r 递归复制。用于目录
-i 若目标文件存在,则询问是否覆盖
-a 相对于-pdr。(p,d,r意义见上)
mv [选项] 源文件 [目标路径|目标文件名] 剪切文件或者将文件重命名。
mv filename1 filename2 将filename1重命名为filename2
rm 删除文件或目录。选项 -f 强制删除。 -r 递归的删除目录下的内容参数
参数是删除的路径。另外,rm filename 可以删除文件
dd 按照指定大小和个数的数据块来复制文件或转换文件
dd if=/dev/zero of=560_file count=1 bs=560M #if参数后跟的/dev/zero是/dev/目录下的zero文件(被复制文件)。 of后面跟的是复制文件的名称。count后跟的是复制的“块”的个数。bs后跟的是每“块”的大小
file filename 查看filename的类型
tar [选项] [文件] 对文件进行打包压缩或解压
参数说明
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包里有那些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名。要压缩或解压的软件包名。必须放在最后
-p 保留原始的权限和属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
压缩.tar.gz文件:tar -czvf 生成的压缩包名称
解压.tar.gz文件:tar xzvf 待解压包名称
wget [参数] 下载地址 用于在终端中下载网络文件
-b 后台下载模式。
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面所有资源,包含图片视频等
-r 递归下载
参数可以并列
> filename 清空一个文件的内容
set [选项] 为一个shell环境设置/取消一些设定
参数说明
若不提供参数,则显示所有函数和变量。
-a 标记一个被修改或者创建的变量,用以导出
-b