一、文件与目录操作
命令 | 解析 |
---|---|
cd /home | 进入 ‘/home’ 目录 |
cd … | 返回上一级目录 |
cd …/… | 返回上两级目录 |
cd - | 返回上次所在目录 |
cp file1 file2 | 将file1复制为file2 |
cp -a dir1 dir2 | 复制一个目录 |
cp -a /tmp/dir1 . | 复制一个目录到当前工作目录(.代表当前目录) |
ls | 查看目录中的文件 |
ls -a | 显示隐藏文件 |
ls -l | 显示详细信息 |
ls -lrt | 按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序) |
pwd | 显示工作路径 |
mkdir dir1 | 创建 ‘dir1’ 目录 |
mkdir dir1 dir2 | 同时创建两个目录 |
mkdir -p /tmp/dir1/dir2 | 创建一个目录树 |
mv dir1 dir2 | 移动/重命名一个目录 |
rm -f file1 | 删除 ‘file1’ |
rm -rf dir1 | 删除 ‘dir1’ 目录及其子目录内容 |
二、查看文件内容
命令 | 解析 |
---|---|
vi file | 打开并浏览文件 |
cat file1 | 从第一个字节开始正向查看文件的内容 |
tac file1 | cat的反写,从最后一行开始反向查看一个文件的内容 |
head -2 file1 | 查看一个文件的前两行 |
tail -3 file1 | 查看一个文件的最后三行 |
more file1 | 分页查看长文件,空格下翻,b上翻页,q退出 |
三、文本内容处理
命令 | 解析 |
---|---|
grep str /tmp/test | 在文件 ‘/tmp/test’ 中查找 “str” |
grep ^str /tmp/test | 在文件 ‘/tmp/test’ 中查找以 “str” 开始的行 |
grep [0-9] /tmp/test | 查找 ‘/tmp/test’ 文件中所有包含数字的行 |
grep str -r /tmp/* | 在目录 ‘/tmp’ 及其子目录中查找 “str” |
diff file1 file2 | 找出两个文件的不同处 |
sdiff file1 file2 | 以对比的方式显示两个文件的不同 |
vi file | 操作解析i进入编辑文本模式Esc退出编辑文本模式:w保存当前修改:q不保存退出vi:wq保存当前修改并退出vi |
四、查询操作
1.搜索
命令 | 解析 |
---|---|
find / -name file1 | 从 ‘/’ 开始进入根文件系统查找文件和目录 |
find / -user user1 | 查找属于用户 ‘user1’ 的文件和目录 |
find /home/user1 -name *.bin | 在目录 ‘/ home/user1’ 中查找以 ‘.bin’ 结尾的文件 |
find /usr/bin -type f -atime +100 | 查找在过去100天内未被使用过的执行文件 |
find /usr/bin -type f -mtime -10 | 查找在10天内被创建或者修改过的文件 |
locate *.ps | 寻找以 ‘.ps’ 结尾的文件,先运行 ‘updatedb’ 命令 |
find -name ‘*.[ch]’ | xargs grep -E ‘expr’ | 在当前目录及其子目录所有.c和.h文件中查找 ‘expr’ |
find -type f -print0 | xargs -r0 grep -F ‘expr’ | 在当前目录及其子目录的常规文件中查找 ‘expr’ |
find -maxdepth 1 -type f | xargs grep -F ‘expr’ | 在当前目录中查找 ‘expr’ |
2.查询历史
3.按分隔符
五、压缩、解压
命令 | 解析 |
---|---|
bzip2 file1 | 压缩 file1 |
bunzip2 file1.bz2 | 解压 file1.bz2 |
gzip file1 | 压缩 file1 |
gzip -9 file1 | 最大程度压缩 file1 |
gunzip file1.gz | 解压 file1.gz |
tar -cvf archive.tar file1 | 把file1打包成 archive.tar(-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数) |
tar -cvf archive.tar file1 dir1 | 把 file1,dir1 打包成 archive.tar |
tar -tf archive.tar | 显示一个包中的内容 |
tar -xvf archive.tar | 释放一个包 |
tar -xvf archive.tar -C /tmp | 把压缩包释放到 /tmp目录下 |
zip file1.zip file1 | 创建一个zip格式的压缩包 |
zip -r file1.zip file1 dir1 | 把文件和目录压缩成一个zip格式的压缩包 |
unzip file1.zip | 解压一个zip格式的压缩包到当前目录 |
unzip test.zip -d /tmp/ | 解压一个zip格式的压缩包到 /tmp 目录 |
六、yum安装器
命令 | 解析 |
---|---|
yum -y install [package] | 下载并安装一个rpm包 |
yum localinstall [package.rpm] | 安装一个rpm包,使用你自己的软件仓库解决所有依赖关系 |
yum -y update | 更新当前系统中安装的所有rpm包 |
yum update [package] | 更新一个rpm包 |
yum remove [package] | 删除一个rpm包 |
yum list | 列出当前系统中安装的所有包 |
yum search [package] | 在rpm仓库中搜寻软件包 |
yum clean [package] | 清除缓存目录(/var/cache/yum)下的软件包 |
yum clean headers | 删除所有头文件 |
yum clean all | 删除所有缓存的包和头文件 |
七、网络相关
命令 | 解析 |
---|---|
ifconfig eth0 | 显示一个以太网卡的配置 |
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 | 配置网卡的IP地址 |
ifdown eth0 | 禁用 ‘eth0’ 网络设备 |
ifup eth0 | 启用 ‘eth0’ 网络设备 |
iwconfig eth1 | 显示一个无线网卡的配置 |
iwlist scan | 显示无线网络 |
ip addr show | 显示网卡的IP地址 |
八、系统相关
命令 | 解析 |
---|---|
su - | 切换到root权限(与su有区别) |
shutdown -h now | 关机 |
shutdown -r now | 重启 |
top | 罗列使用CPU资源最多的linux任务 (输入q退出) |
pstree | 以树状图显示程序 |
man ping | 查看参考手册(例如ping 命令) |
passwd | 修改密码 |
df -h | 显示磁盘的使用情况 |
cal -3 | 显示前一个月,当前月以及下一个月的月历 |
cal 10 1988 | 显示指定月,年的月历 |
date –date ‘1970-01-01 UTC 1427888888 seconds’ | 把一相对于1970-01-01 00:00的秒数转换成时间 |
九、磁盘和内存相关
du
du 和 df 命令都是 Linux 系统的重要工具,来显示 Linux 文件系统的磁盘使用情况
du(disk usage 的简称)是用于查找文件和目录的磁盘使用情况的命令。du 命令在与各种选项一起使用时能以多种格式提供结果
# 显示 /home 中的所有文件和目录以及显示块大小
du /home
# 以人类可读格式也就是 kb、mb 等显示文件/目录大小
du -h /home
#它是 /home 目录的总大小
du -s /home
df
df(disk filesystem 的简称)用于显示 Linux 系统的磁盘利用率。
显示设备名称、总块数、总磁盘空间、已用磁盘空间、可用磁盘空间和文件系统上的挂载点。
# 以人类可读格式显示信息。
#df -h //查看磁盘使用情况,剩下多少空间
df -h
# -hT 加上目标目录将以可读格式显示 /etc 的信息。
df -hT /etc
free
free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。
默认单位是KB
下面先解释一下输出的内容:
Mem 行(第二行)是内存的使用情况。
Swap 行(第三行)是交换空间的使用情况。
total 列显示系统总的可用物理内存和交换空间大小。
used 列显示已经被使用的物理内存和交换空间。
free 列显示还有多少物理内存和交换空间可用使用。
shared列显示被共享使用的物理内存大小。
buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。
available列显示还可以被应用程序使用的物理内存大小。
如果加上 -h 选项,输出的结果会友好很多:
有时我们需要持续的观察内存的状况,此时可以使用 -s 选项并指定间隔的秒数:
上面的命令每隔 3 秒输出一次内存的使用情况,直到你按下 ctrl + c。
【注意】
(1)buff/cache
buffer 在操作系统中指 buffer cache, 中文一般翻译为 “缓冲区”;cache 在操作系统中指 page cache,中文一般翻译为 “页高速缓存”。
(2)free 与 available区别
free 是真正尚未被使用的物理内存数量。至于 available 就比较有意思了,它是从应用程序的角度看到的可用内存数量。Linux 内核为了提升磁盘操作的性能,会消耗一部分内存去缓存磁盘数据,就是 buffer 和 cache。所以对于内核来说,buffer 和 cache 都属于已经被使用的内存。当应用程序需要内存时,如果没有足够的 free 内存可以用,内核就会从 buffer 和 cache 中回收内存来满足应用程序的请求。所以从应用程序的角度来说,available = free + buffer + cache。
(3)交换空间(swap space)
swap space 是磁盘上的一块区域,可以是一个分区,也可以是一个文件。所以具体的实现可以是 swap 分区也可以是 swap 文件。当系统物理内存吃紧时,Linux 会将内存中不常访问的数据保存到 swap 上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问 swap 上存储的内容时,再将 swap 上的数据加载到内存中,这就是常说的换出和换入。
XShell 5相关操作
窗体快捷键
命令 | 解析 |
---|---|
Ctrl + u | 删除光标之前到行首的字符 |
Ctrl + k | 删除光标之前到行尾的字符 |
Ctrl + c | 取消当前行输入的命令,相当于Ctrl + Break |
Ctrl + a | 光标移动到行首(ahead of line),相当于通常的Home键 |
Ctrl + e | 光标移动到行尾(end of line) |
Ctrl + f | 光标向前(forward)移动一个字符位置 |
Ctrl + b | 光标往回(backward)移动一个字符位置 |
Ctrl + l | 清屏,相当于执行clear命令 |
Ctrl + r | 显示:号提示,根据用户输入查找相关历史命令(reverse-i-search) |
Ctrl + w | 删除从光标位置前到当前所处单词(word)的开头 |
Ctrl + t | 交换光标位置前的两个字符 |
Ctrl + y | 粘贴最后一次被删除的单词 |
Ctrl + Alt + d | 显示桌面 |
Alt + b | 光标往回(backward)移动到前一个单词 |
Alt + d | 删除从光标位置到当前所处单词的末尾 |
Alt + F2 | 运行 |
Alt + F4 | 关闭当前窗口 |
Alt + F9 | 最小化当前窗口 |
Alt + F10 | 最大化当前窗口 |
Alt + Tab | 切换窗口 |
Alt + 左键 | 移动窗口(或在最下面的任务栏滚动鼠标滑轮) |
操作小技巧
鼠标中间键:粘贴突出显示的文本。(使用鼠标左键来选择文本。把光标指向想粘贴文本的地方。点击鼠标中间键来粘贴。)
Tab:命令行自动补全。使用 shell 提示时可使用这一方式。键入命令或文件名的前几个字符,然后按 [Tab] 键,它会自动补全命令或显示匹配键入字符的所有命令。
在滚动条的空白处点击鼠标中键:屏幕即滚动到那个地方。
在桌面或文件管理器中直接按 / 就可以输入位置,打开文件管理器。
在 vi 或 Firefox 中直接按 / 即可进入快速搜索状态。
网站链接和图片可直接拖放到桌面或者目录,可以马上下载。
直接将文件管理器中的文件拖到终端中就可以在终端中得到完整的路径名。