ubuntu的命令
### Ubuntu的命令技巧详解 #### 安装与升级 **1.1 查看软件xxx安装内容** 使用`dpkg -L <package-name>`命令可以查看指定软件包在系统中的安装内容,包括所有文件和目录。 **1.2 查找软件** 通过`apt-cache search <keyword>`或`apt list --installed | grep <keyword>`可以查找系统中已安装或可安装的软件包。 **1.3 查找文件属于哪个包** 如果想知道某个文件属于哪个软件包,可以使用`dpkg -S <filename>`命令。 **1.4 查询软件xxx依赖哪些包** 利用`apt-cache depends <package-name>`命令,可以查看一个软件包依赖于哪些其他的软件包。 **1.5 查询软件xxx被哪些包依赖** 使用`apt-cache rdepends <package-name>`命令,可以查看哪些软件包依赖于指定的软件包。 **1.6 增加一个光盘源** 为了增加一个新的软件源,例如光盘,可以通过编辑`/etc/apt/sources.list`文件,然后运行`apt update`更新源列表。 **1.7 系统升级** 系统升级可以通过`sudo apt update`和`sudo apt upgrade`两个命令完成,前者更新软件源列表,后者升级已安装的软件包。 **1.8 清除所有已删除包的残馀配置文件** 使用`sudo apt autoremove`命令可以清除不再需要的软件包及其配置文件。 **1.9 编译时缺少h文件的自动处理** 在编译过程中遇到缺失的头文件,可以尝试使用`apt-get build-dep <package-name>`命令自动安装所需的开发包。 **1.10 查看安装软件时下载包的临时存放目录** 安装软件时的临时文件通常存储在`/var/cache/apt/archives/`目录下。 **1.11 备份当前系统安装的所有包的列表** 要备份已安装的软件包列表,可以使用`dpkg --get-selections > installed-packages.txt`命令。 **1.12 从上面备份的安装包的列表文件恢复所有包** 若要从备份文件中恢复软件包,可以使用`dpkg --set-selections < installed-packages.txt`,但可能需要手动解决依赖问题。 **1.13 清理旧版本的软件缓存** 使用`sudo apt clean`可以清除下载过的软件包,而`sudo apt autoclean`则只清除旧版本的软件包缓存。 **1.14 清理所有软件缓存** `sudo apt clean`将清除所有下载过的软件包缓存。 **1.15 删除系统不再使用的孤立软件** `sudo apt autoremove`可以帮助你删除不再使用的孤立软件包。 **1.16 查看包在服务器上面的地址** 使用`apt showpkg <package-name>`可以看到软件包在服务器上的具体位置。 #### 系统信息 **2.1 查看内核** 使用`uname -r`命令可以查看当前系统内核的版本。 **2.2 查看Ubuntu版本** `lsb_release -a`或`cat /etc/issue`命令可以显示系统的发行版本信息。 **2.3 查看内核加载的模块** `lsmod`命令用于列出当前内核已加载的模块。 **2.4 查看PCI设备** 使用`lspci`命令可以查看系统中的PCI设备信息。 **2.5 查看USB设备** 通过`lsusb`命令可以查看连接到系统的USB设备。 **2.6 查看网卡状态** `ifconfig`或`ip addr show`命令可以查看网络接口的状态。 **2.7 查看CPU信息** `lscpu`命令提供了CPU架构、型号和核心数等信息。 **2.8 显示当前硬件信息** `dmidecode`命令可以提供详尽的系统硬件信息。 #### 硬盘管理 **3.1 查看硬盘的分区** 使用`fdisk -l`或`parted -l`命令可以查看硬盘的分区信息。 **3.2 硬盘分区** 通过`fdisk`或`gdisk`工具可以进行硬盘分区。 **3.3 硬盘格式化** 使用`mkfs`系列命令(如`mkfs.ext4`)可以对分区进行格式化。 **3.4 硬盘检查** `fsck`命令用于检查和修复文件系统错误。 **3.5 分区挂载** 使用`mount`命令可以挂载文件系统。 **3.6 分区卸载** `umount`命令用于卸载已挂载的文件系统。 **3.7 查看IDE硬盘信息** `hdparm -I /dev/hda`可以查看IDE硬盘的信息。 **3.8 查看SATA硬盘信息** 对于SATA硬盘,可以使用`smartctl -a /dev/sda`查看健康状态等信息。 **3.9 查看硬盘剩余空间** `df -h`命令可以查看各分区的使用情况和剩余空间。 **3.10 查看目录占用空间** 使用`du -sh <directory>`可以查看特定目录的大小。 **3.11 优盘无法卸载** 若优盘无法正常卸载,可以尝试使用`fuser -u /mnt/usb`(假设优盘挂载点是/mnt/usb)来解除占用。 **3.12 使用文件增加交换空间** 通过`dd`和`mkswap`命令可以创建交换文件,并使用`swapon`命令将其激活作为交换空间。 #### 进程管理 **4.1 查看当前的内存使用情况** `free -m`命令可以查看内存的使用情况,包括物理内存、虚拟内存等。 **4.2 动态显示进程执行情况** `top`命令提供了一个实时的进程监控界面。 **4.3 查看当前有哪些进程** `ps aux`命令列出系统上所有的进程。 **4.4 查看当前进程树** `pstree`命令可以展示进程间的关系,形成树状结构。 **4.5 中止一个进程** 使用`kill <pid>`命令可以中止指定PID的进程。 **4.6 强制中止一个进程** 如果`kill`命令无效,可以使用`kill -9 <pid>`强制中止进程。 **4.7 图形方式中止一个程序** 在图形界面下,可以通过任务管理器来终止程序。 **4.8 查看当前进程的实时状况** 除了`top`,还可以使用`htop`命令,它提供更丰富的交互界面。 **4.9 查看进程打开的文件** `lsof -p <pid>`可以查看指定进程打开的文件。 **4.10 显示开启文件abc.txt的进程** 使用`lsof abc.txt`可以找到正在使用该文件的进程。 **4.11 显示22端口现在运行什么程序** `netstat -tuln | grep :22`可以查看监听22端口的程序。 **4.12 显示nsd进程现在打开的文件** `lsof -p $(pidof nsd)`可以查看nsd进程打开的文件。 **4.13 在后台运行程序** 使用`nohup command &`可以在后台运行程序,即使终端会话结束也不会影响。 **4.14 详细显示程序的运行信息** `strace`或`ptrace`命令可以跟踪程序的系统调用,提供详细运行信息。 **4.15 增加系统最大打开文件个数** 通过编辑`/etc/security/limits.conf`文件,可以修改用户或进程的最大文件打开数限制。 #### 网络配置 **5.1 配置ADSL** 使用`wvdialconf`或`pppoeconf`工具可以配置ADSL拨号连接。 **5.2 ADSL手工拨号** `wvdial`命令可以用于手动拨号。 **5.3 激活ADSL** `pon dsl-provider`命令可以激活ADSL连接。 **5.4 断开ADSL** 使用`poff dsl-provider`命令可以断开ADSL连接。 **5.5 查看拨号日志** `cat /var/log/wvdial.log`可以查看拨号过程的日志信息。 **5.6 如何设置动态域名** 使用动态域名服务(如DynDNS),通过其提供的工具和脚本可以实现实时更新域名解析。 #### 文件管理 **11.1 一屏查看文件内容** 使用`cat <filename>`命令可以一次性显示文件的全部内容。 **11.2 分页查看文件内容** `less <filename>`或`more <filename>`命令允许你分页查看文件内容。 **11.3 可控分页查看文件内容** `less`命令提供了更多的浏览控制功能,如搜索和跳转。 **11.4 根据字符串匹配来查看文件部分内容** 使用`grep "pattern" <filename>`可以搜索文件中包含特定字符串的行。 **11.5 显示包含或者不包含字符串的文件名** `find . -type f -name "*pattern*"`可以查找包含特定字符串的文件名。 **11.6 快速查找某个文件** `locate <filename>`命令可以快速查找文件的位置。 **11.7 创建两个空文件** 使用`touch file1 file2`可以创建两个空文件。 **11.8 递归式创建一些嵌套目录** `mkdir -p dir1/dir2/dir3`命令可以递归创建多级目录。 **11.9 递归式删除嵌套目录** `rm -rf dir1`可以递归删除目录及其所有子目录和文件。 **11.10 回当前用户的宿主目录** `cd ~`命令可以迅速返回到当前用户的家目录。 **11.11 查看当前所在目录的绝对路径** `pwd`命令显示当前工作目录的完整路径。 **11.12 列出当前目录下的所有文件** 使用`ls -la`可以显示当前目录下所有的文件和目录,包括隐藏文件。 **11.13 移动路径下的文件并改名** `mv oldname newname`可以移动文件并重命名。 **11.14 复制文件或者目录** 使用`cp source destination`可以复制文件或目录。 **11.15 查看文件类型** `file <filename>`命令可以查看文件的类型信息。 **11.16 对比两个文件之间的差异** `diff file1 file2`可以比较两个文件的差异。 **11.17 显示xxx文件倒数6行的内容** `tail -n 6 <filename>`可以查看文件最后几行的内容。 **11.18 让tail不停地读取最新的内容** `tail -f <filename>`可以持续显示文件的新追加内容。 **11.19 查看文件中间的第五行(含)到第10行(含)的内容** 使用`sed -n '5,10p' <filename>`可以显示指定行范围内的内容。 **11.20 查找关于xxx的命令** `man <command>`或`info <command>`可以查看命令的手册页和详细信息。