一些不常用却很有用的linux命令
- 格式:doc
- 大小:35.00 KB
- 文档页数:3
Linux命令行使用技巧如何使用tee命令同时输出到文件和屏幕Linux命令行使用技巧:如何使用tee命令同时输出到文件和屏幕Linux命令行界面是许多开发人员和系统管理员的首选工具之一。
在这个界面上,我们可以通过各种命令完成各种任务。
其中,tee命令是一个非常有用的工具,它可以将命令输出同时输出到文件和屏幕上。
本文将介绍如何使用tee命令及其一些常见的用法和技巧。
一、tee命令的基本用法tee命令的基本语法如下:```command | tee [options] [file...]```其中,command代表要执行的命令,options表示选项,file表示要写入的文件名。
下面是一些常见的tee命令的用法示例。
1. 将命令的输出保存到文件```$ ls -l | tee file.txt```上面的命令会将ls -l的结果输出到屏幕上,并将结果写入file.txt文件中。
2. 将命令的输出追加到已有文件```$ ls -la | tee -a file.txt```上述命令会将ls -la的结果输出到屏幕上,并将结果追加到file.txt 文件中。
3. 将命令的输出同时保存到多个文件```$ ls -l | tee file1.txt file2.txt```上面的命令会将ls -l的结果输出到屏幕上,并将结果同时写入file1.txt和file2.txt文件中。
二、使用tee命令的高级技巧除了基本的用法,tee命令还有一些高级的技巧可以帮助我们更灵活地处理命令行输出。
1. 输出重定向到/dev/null如果我们只想在屏幕上显示命令的输出,而不需要将结果保存到文件中,可以将文件名指定为/dev/null。
示例如下:```$ command | tee /dev/null```上述命令会将command的输出显示在屏幕上,但不会将结果保存到任何文件中。
2. 使用tee命令同时保存命令的输出和错误信息在Linux命令行中,标准输出通常用于显示正常的命令输出,而错误输出通常用于显示错误消息。
linuxcpu常用命令在Linux系统中,有许多用于查看和管理CPU信息的常用命令。
以下是一些常见的Linux CPU相关命令:1. top:用于实时监视系统的性能情况,包括CPU的使用率、进程信息等。
在终端中输入`top`即可启动。
2. htop:类似于top,但提供了更多的交互式界面和功能。
需要先安装,然后在终端中输入`htop`启动。
3. uptime:显示系统的运行时间以及平均负载。
在终端中输入`uptime`即可查看。
4. cat /proc/cpuinfo:查看CPU的详细信息,包括型号、频率、核心数等。
在终端中输入该命令即可。
5. lscpu:以更友好的方式显示CPU信息,包括架构、型号、频率、核心数等。
在终端中输入`lscpu`即可查看。
6. mpstat:用于显示每个CPU的使用率和其他性能数据。
需要安装sysstat 包,然后在终端中输入`mpstat`启动。
7. ps:显示当前运行的进程信息,可以包括进程的CPU使用率等。
在终端中输入`ps aux`查看全部进程信息。
8. pidstat:提供有关每个进程的CPU使用率等信息。
需要安装sysstat包,然后在终端中输入`pidstat`启动。
9. nmon:提供了全面的系统性能监控,包括CPU、内存、磁盘等信息。
需要安装nmon包,然后在终端中输入`nmon`启动。
10. sar:提供了历史性能数据的报告,可以用于分析系统的CPU利用率等信息。
需要安装sysstat包,然后在终端中输入`sar`查看报告。
这些命令可以帮助你监控和管理Linux系统中的CPU性能。
根据你的需求,选择适合的命令来获取所需的信息。
linux man用法
在Linux 操作系统中,`man` 是一个非常有用的命令,用于查看关于其他命令的手册页(manual page)。
以下是一些关于`man` 命令的基本用法:
1. 查看命令的手册页:
```
man <command>
```
例如,要查看`ls` 命令的手册页,可以输入`man ls`。
2. 跳转到手册页中的下一个匹配项:
在手册页中,可以按下`空格键` 来向下翻页,或者按下`Enter` 键来向下滚动一行。
3. 退出手册页:
要退出手册页,可以按下`q` 键。
4. 搜索手册页内容:
在手册页中,按下`/` 键,然后输入要搜索的关键词,按下`Enter` 键即可进行搜索。
按下`n` 键可以跳转到下一个匹配项。
5. 查看手册页的摘要信息:
```
man -f <keyword>
```
例如,要查看关于`printf` 函数的摘要信息,可以输入`man -f printf`。
6. 查看手册页的章节:
手册页按照不同的章节进行组织,例如命令、系统调用、库函数等。
可以使用如下命令来查看特定章节的手册页:
```
man <section> <command>
```
例如,要查看`printf` 函数的库函数手册页,可以输入`man 3 printf`。
通过使用`man` 命令,您可以方便地查阅Linux 系统中各种命令和函数的手册页,以获得详细的使用说明和参数信息。
Linux命令高级技巧使用patch命令进行补丁管理和应用Linux命令高级技巧:使用patch命令进行补丁管理和应用在Linux系统中,patch命令是一个非常有用的工具,可以实现补丁管理和应用的功能。
补丁是一种用于修复软件漏洞、添加新功能或修改现有功能的文件。
本文将介绍如何使用patch命令进行补丁管理和应用,帮助用户更好地掌握这个高级技巧。
1. 安装patch命令在开始使用patch命令之前,首先需要确保系统中已经安装了该命令。
大多数Linux发行版都默认安装了patch命令,可以通过以下命令来检查是否已安装:$ which patch如果输出的是patch的安装路径,则说明已经安装;如果没有输出结果,则需要使用包管理器来安装patch。
2. 下载补丁文件在使用patch命令之前,需要先下载相应的补丁文件。
补丁文件通常以.diff或.patch的扩展名结尾。
可以从官方网站或其他可信来源获取补丁文件。
3. 查看补丁文件内容在应用补丁之前,可以使用以下命令来查看补丁文件的内容:$ cat patchfile.diff这将显示补丁文件的详细内容,包括被修改的文件路径、被添加、删除或修改的代码块等信息。
4. 检查原始文件状态在应用补丁之前,建议先检查原始文件的状态,以确保文件未被修改或破坏。
可以使用以下命令来验证原始文件的完整性:$ md5sum original_file将original_file替换为需要验证的文件路径,并记录显示的MD5值。
5. 应用补丁一旦完成了上述准备工作,就可以开始应用补丁了。
使用以下命令来应用补丁:$ patch -p1 < patchfile.diff-p1选项用于修正补丁中的文件路径,使其与原始文件路径匹配。
6. 验证补丁成功应用补丁后,可以使用md5sum命令再次验证文件的完整性,确保补丁成功应用并没有破坏原始文件。
比较计算出的MD5值与之前记录的值是否一致即可。
Linux终端命令小技巧使用history命令查看历史命令在Linux终端中,使用命令行是我们经常进行操作的一种方式。
为了提高我们在终端中的效率,掌握一些Linux终端命令的小技巧是非常有用的。
其中,使用`history`命令查看历史命令是一个非常实用的功能。
下面我们将介绍一些常用的`history`命令的使用技巧。
一、查看历史命令在终端中,输入`history`命令可以查看之前执行过的命令历史记录。
通常,该命令会显示最近使用的命令,但我们也可以通过参数来自定义显示的命令数量。
例如,使用`history 10`命令可以显示最近的10条命令记录。
二、执行历史命令除了查看历史命令,我们还可以通过`!n`的方式来执行历史命令,其中n表示命令在历史记录中的序号。
例如,输入`!10`可以执行第10条命令。
此外,还可以使用`!!`来执行上一条命令。
这在我们需要重新执行上一条命令时非常方便。
三、搜索历史命令当我们的命令历史记录非常长时,需要查找特定的命令可能会变得困难。
幸运的是,`history`命令也提供了搜索功能。
使用`history | grep keyword`命令可以搜索包含特定关键词的历史命令。
例如,`history | grep ls`可以搜索包含"ls"关键词的命令,并显示符合条件的命令记录。
四、清除历史命令有时候,我们可能希望清除一部分或全部的命令历史记录。
`history`命令也提供了清除历史记录的选项。
使用`history -c`命令可以清除所有的历史记录。
而使用`history -d n`命令可以删除特定序号的命令记录,其中n为要删除的命令的序号。
另外,我们还可以编辑`~/.bash_history`文件来手动清除或修改历史命令记录。
该文件保存了我们所有的命令历史记录,通过编辑该文件,我们可以删除或修改其中的内容。
综上所述,`history`命令是Linux终端中非常实用的一个命令,它能帮助我们查看历史命令、执行历史命令、搜索历史命令以及清除历史命令记录。
linuxfree命令free 命令显⽰系统内存的使⽤情况,包括物理内存、交换内存(swap)和内核缓冲区内存。
如果加上 -h 选项,输出的结果会友好很多:有时我们需要持续的观察内存的状况,此时可以使⽤ -s 选项并指定间隔的秒数:$ free -h -s 3上⾯的命令每隔 3 秒输出⼀次内存的使⽤情况,直到你按下 ctrl + c。
(Ubuntu 16.04 中默认的 free 版本有 bug,使⽤ -s 选项时报错,所以这张图是在 CentOS 中截的。
)由于 free 命令本⾝⽐较简单,所以本⽂的重点会放在如何通过 free 命令了解系统当前的内存使⽤状况。
输出简介下⾯先解释⼀下输出的内容:Mem ⾏(第⼆⾏)是内存的使⽤情况。
Swap ⾏(第三⾏)是交换空间的使⽤情况。
total 列显⽰系统总的可⽤物理内存和交换空间⼤⼩。
used 列显⽰已经被使⽤的物理内存和交换空间。
free 列显⽰还有多少物理内存和交换空间可⽤使⽤。
shared 列显⽰被共享使⽤的物理内存⼤⼩。
buff/cache 列显⽰被 buffer 和 cache 使⽤的物理内存⼤⼩。
available 列显⽰还可以被应⽤程序使⽤的物理内存⼤⼩。
我想只有在理解了⼀些基本概念之后,上⾯的输出才能帮助我们了解系统的内存状况。
buff/cache先来提⼀个问题: buffer 和 cache 应该是两种类型的内存,但是 free 命令为什么会把它们放在⼀起呢?要回答这个问题需要我们做些准备⼯作。
让我们先来搞清楚 buffer 与 cache 的含义。
buffer 在操作系统中指 buffer cache,中⽂⼀般翻译为 "缓冲区"。
要理解缓冲区,必须明确另外两个概念:"扇区" 和 "块"。
扇区是设备的最⼩寻址单元,也叫 "硬扇区" 或 "设备块"。
21. 命令: Find搜索指定目录下的文件,从开始于父目录,然后搜索子目录。
view sourceprint?01root@tecmint:~# find -name *.sh0203./Desktop/load.sh04./Desktop/test.sh05./Desktop/shutdown.sh06./Binary/firefox/run-mozilla.sh0 7./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.s h8./Downloads/kdewebdev-3.5.8/admin/doxygen.sh09./Downloads/kdewebdev-3.5.8/admin/cvs.sh10./Downloads/kdewebdev-3.5.8/admin/ltmain.sh11./Downloads/wheezy-nv-install.sh注意:`-name‘选项是搜索大小写敏感。
可以使用`-iname‘选项,这样在搜索中可以忽略大小写。
(*是通配符,可以搜索所有的文件;‘.sh ‘你可以使用文件名或者文件名的一部分来制定输出结果)view sourceprint?01root@tecmint:~# find -iname *.SH ( find -iname *.Sh / find-iname *.sH)王瑞平翻译于26天前1人顶顶翻译的不错哦!0203./Desktop/load.sh04./Desktop/test.sh05./Desktop/shutdown.sh06./Binary/firefox/run-mozilla.sh0 7./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.s h8./Downloads/kdewebdev-3.5.8/admin/doxygen.sh09./Downloads/kdewebdev-3.5.8/admin/cvs.sh10./Downloads/kdewebdev-3.5.8/admin/ltmain.sh11./Downloads/wheezy-nv-install.shview sourceprint?01root@tecmint:~# find -name *.tar.gz0203/var/www/modules/update/tests/aaa_update_test.tar.gz0 4./var/cache/flashplugin-nonfree/install_flash_player_11_linu x.i386.tar.gz05./home/server/Downloads/drupal-7.22.tar.gz06./home/server/Downloads/smtp-7.x-1.0.tar.gz07./home/server/Downloads/noreqnewpass-7.x-1.2.tar.gz08./usr/share/gettext/archive.git.tar.gz09./usr/share/doc/apg/php.tar.gz10./usr/share/doc/festival/examples/speech_pm_1.0.tar.gz11./usr/share/doc/argyll/examples/spyder2.tar.gz12./usr/share/usb_modeswitch/configPack.tar.gz注意:以上命令查找根目录下和所有文件夹以及加载的设备的子目录下的所有包含‘tar.gz'的文件。
Linux命令行技巧使用watch命令定时执行命令并监控结果Linux命令行是广泛应用于服务器管理和开发环境中的工具。
在命令行操作中,watch命令是一个非常有用的工具,它可以定时执行某个命令,并实时监控并显示它的结果。
本文将介绍如何正确使用watch命令以及其相关的技巧和用法。
一、基本用法在Linux系统中,使用watch命令非常简单,只需在终端中输入watch加上要执行的命令即可。
例如,我们要监控一个文件的变化,可以使用如下命令:watch cat filename这个命令将每两秒执行一次cat filename,并实时显示filename文件的内容。
watch命令默认每两秒执行一次,但你也可以通过watch的参数来自定义执行间隔时间。
二、自定义执行间隔时间1. -n 参数默认情况下,watch命令每两秒执行一次,你可以通过-n参数来自定义执行间隔时间。
例如,你可以使用如下命令来每隔5秒执行一次cat filename命令:watch -n 5 cat filename这个命令将每5秒执行一次cat filename,并实时显示filename文件的内容。
2. --interval 参数除了使用-n参数来设置执行间隔时间,你还可以使用--interval参数来实现相同的效果,例如:watch --interval=5 cat filename这个命令与上一条命令的效果相同,每5秒执行一次cat filename。
三、高级用法除了基本的用法,watch命令还支持一些高级的选项和用法,下面将介绍其中几个常用的。
1. --differences/-d 参数当监控的命令结果有变化时,watch默认会高亮显示发生变化的部分。
如果你想查看每次变化的具体细节,可以使用--differences或-d参数,例如:watch -d ls这个命令会每两秒执行一次ls命令,并显示当前目录下的文件和文件夹列表,当有文件或文件夹发生变化时,会将变化的部分以颜色高亮显示出来。
linux实用系统管理命令Linux是一种非常流行的操作系统,已成为许多服务器和个人电脑的首选系统。
Linux系统有很多优点,其中一个很大的优点是它丰富的命令行工具,这些工具可以大大增强系统的管理和维护能力。
本文将介绍几个常用的实用系统管理命令,以帮助读者更好地管理他们的Linux系统。
1. df (磁盘空间使用量查询)df命令可以用来查询磁盘空间使用情况。
这是一个非常有用的命令,因为在管理系统的时候,了解磁盘的使用情况可以帮助你更好地规划磁盘的使用。
以下是一个使用df命令查询磁盘使用情况的例子:$ df -hFilesystem Size Used Avail Use% Mounted on /dev/sda1 20G 4.4G 15G 23% / tmpfs7.8G 0 7.8G 0% /dev/shm /dev/sda2 1.8T 1.3T 440G 76% /home通过这个结果,我们可以看到系统的根分区已经使用了23%的容量。
另外,df命令也可以查询其他分区的使用情况,仅需指定不同的挂载点即可。
2. top (查看正在运行的进程)top命令可以用来查看系统中正在运行的进程。
这是一个非常有用的命令,可以帮助你了解系统资源的占用情况,以及哪些进程可能会耗费过多的系统资源。
以下是一个使用top 命令查看正在运行的进程的例子:$ toptop - 16:57:44 up 45 days, 5:43, 6 users, load average: 0.00, 0.01, 0.05 Tasks: 201 total, 1 running, 199 sleeping, 0 stopped, 1 zombie %Cpu(s): 2.6 us, 4.4 sy, 0.0 ni, 92.6 id, 0.0 wa, 0.0 hi, 0.4 si, 0.0 st KiB Mem : 16340792 total, 12160792 free, 2259268 used, 1917732 buff/cacheKiB Swap: 19527676 total, 19421868 free, 105808 used. 13718824 avail MemPID USER PR NI VIRT RES SHRS %CPU %MEM TIME+ COMMAND 2130 root20 0 6355216 171672 70588 S 4.0 1.1 788:04.33 java 3444 mysql 20 0 844624 128776 8820 S 1.6 0.8 695:22.55 mysqld 5151 root 20 0 430100 12596 8180 S 0.7 0.1 5:16.04 php-fpm 4824 nginx 20 0 148405 10908 6464 S 0.3 0.1 78:36.75 nginx通过这个结果,我们可以看到目前正在运行的进程,以及它们占用的系统资源。
一些不常用却很有用的linux命令
一、一些好用的vi技巧(妈妈再也不用担心手动删一万个字符了)
i光标前插入
I光标行首插入
a光标后插入
A光标行尾插入
o光标所在行下插入一行,行首插入
O光标所在行上插入一行,行首插入
G移至最后一行行首
nG移至第n行行首
n 下移n行,行首
n-上移n行,行首
文本删除
dd 删除一行
d$ 删除以当前字符开始的一行字符
ndd 删除以当前行开始的n行
dw 删除以当前字符开始的一个字
ndw 删除以当前字符开始的n个字
D 与d$同义
d) 删除到下一句的开始
d} 删除到下一段的开始
d回车删除2行
ndw 或ndW 删除光标处开始及其后的n-1 个字符。
d0 删至行首。
d$ 删至行尾。
ndd 删除当前行及其后n-1 行。
x 或X 删除一个字符。
Ctrl u 删除输入方式下所输入的文本。
^R 恢复u的操作
:/str/从当前往右移动到有str的地方
:?str?从当前往左移动到有str的地方
:s/str1/str2/将找到的第一个str1替换为str2
:s/str2/str2/g将当前行找到的所有str1替换为str2
:n1,n2s/str1/str2/g将从n1行至n2行找到的所有的str1替换为str2 :1,.s/str1/str2/g将从第1行至当前行的所有str1替换为str2 :.,$s/str1/str2/g将从当前行至最后一行的所有str1替换为str2
二、一些系统指令(连你用的是啥系统都不知道?)
lsb_release -a 查看系统版本
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
date 显示系统日期
date -s "2014-07-31 00:00:00" 设置系统时间,之后hwclock -w保存三、关机(系统的关机、重启以及登出)
shutdown -h now 关闭系统
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销
四、文件操作(处理不完的文件)
清空文件:true > 1.txt 或者echo "" > 1.txt 或者> 1.txt 或者cat /dev/null > 1.txt
搜索文件:
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天内被创建或者修改过的文件
查看文件内容:
cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于'more' 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1 查看一个文件的前两行
tail -2 file1 查看一个文件的最后两行
tail -f /var/log/messages 实时查看被添加到一个文件中的内容
五、用户组(什么?还有其他人在用我的电脑?)
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于"admin" 用户组的用户
useradd user1 创建一个新用户
userdel -r user1 删除一个用户( '-r' 排除主目录)
passwd 修改口令
passwd user1 修改一个用户的口令(只允许root执行)
chage -E 2005-12-31 user1 设置用户口令的失效期限
pwck 检查'/etc/passwd' 的文件格式和语法修正以及存在的用户
grpck 检查'/etc/passwd' 的文件格式和语法修正以及存在的群组
newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组
六、备份同步(需要继续研究)
dump -0aj -f /tmp/home0.bak /home 制作一个'/home' 目录的完整备份
dump -1aj -f /tmp/home0.bak /home 制作一个'/home' 目录的交互式备份
restore -if /tmp/home0.bak 还原一个交互式备份
rsync -rogpav --delete /home /tmp 同步两边的目录
rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync
rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录
rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录。