Linux与Windows最大的区别之一就在于Linux采用shell命令行进行交互,并非图形化界面。其命令繁多,本文就针对Linux常用命令进行了较为全面的总结,其目的在于方便今后的学习,对于不足之处,希望读者给予指出。
系统信息
- arch 显示机器的处理器架构
- uname -m 显示机器的处理器架构
- uname -r 显示正在使用的内核版本
- 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 显示系统日期
- cal 2007 显示2007年的日历表
- date 041217002007.00 设置日期和时间 - 月日时分年.秒
关机 (系统的关机、重启 )
- shutdown -h now 关闭系统
- init 0 关闭系统
- telinit 0 关闭系统
- shutdown -r now 重启
- reboot 重启
- logout 注销
文件和目录
- cd /home 进入 '/ home' 目录'
- cd .. 返回上一级目录
- cd ../.. 返回上两级目录
- cd 进入个人的主目录
- cd - 返回上次所在的目录
- pwd 显示工作路径
- ls 查看目录中的文件
- ls -F 查看目录中的文件
- ls -l 显示文件和目录的详细资料
- ls -a 显示隐藏文件
- tree 显示文件和目录由根目录开始的树形结构
- lstree 显示文件和目录由根目录开始的树形结构
- mkdir dir1 创建一个叫做 'dir1' 的目录'
- mkdir dir1 dir2 同时创建两个目录
- rm -f file1 删除一个叫做 'file1' 的文件'
- rmdir dir1 删除一个叫做 'dir1' 的目录'
- rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
- rm -rf dir1 dir2 同时删除两个目录及它们的内容
- mv dir1 new_dir 重命名/移动 一个目录
- cp file1 file2 复制一个文件
- cp dir/* . 复制一个目录下的所有文件到当前工作目录
- cp -a /tmp/dir1 . 复制一个目录到当前工作目录
- cp -a dir1 dir2 复制一个目录
- ln -s file1 lnk1 创建一个指向文件或目录的软链接
- ln file1 lnk1 创建一个指向文件或目录的物理链接
文件搜索
- 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天内被创建或者修改过的文件
挂载一个文件系统
- mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在
- umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出
- fuser -km /mnt/hda2 当设备繁忙时强制卸载
- umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
- mount /dev/fd0 /mnt/floppy 挂载一个软盘
- mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件
- mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
- mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享
用户和群组
- 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执行)
打包和压缩文件
- bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
- bzip2 file1 压缩一叫做个'file1' 的文件
- gunzip file1.gz 解压一个叫做 'file1.gz'的文件
- gzip file1 压缩一个叫做 'file1'的文件
- gzip -9 file1 最大程度压缩
- rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包
- rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'
- unrar x file1.rar 解压rar包
- tar -cvf archive.tar file1 创建一个非压缩的 tarball
- tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件
- tar -tf archive.tar 显示一个包中的内容
- tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
- tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
- tar -jxvf archive.tar.bz2 解压一个bzip2格式的压缩包
- tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
- tar -zxvf archive.tar.gz 解压一个gzip格式的压缩包
- zip file1.zip file1 创建一个zip格式的压缩包
- zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
- unzip file1.zip 解压一个zip格式压缩包
YUM 软件包升级器 - (RedHat)
- yum install package_name 下载并安装一个rpm包
- yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
- yum update package_name.rpm 更新当前系统中所有安装的rpm包
- yum update package_name 更新一个rpm包
- yum remove package_name 删除一个rpm包
- yum list 列出当前系统中安装的所有包
- yum search package_name 在rpm仓库中搜寻软件包
- yum clean packages 清理rpm缓存删除下载的包
- yum clean headers 删除所有头文件
- yum clean all 删除所有缓存的包和头文件
APT 软件工具 (Ubuntu )
- apt-get install package_name 安装/更新一个 deb 包
- apt-cdrom install package_name 从光盘安装/更新一个 deb 包
- apt-get update 升级列表中的软件包
- apt-get upgrade 升级所有已安装的软件
- apt-get remove package_name 从系统删除一个deb包
- apt-get check 确认依赖的软件仓库正确
- apt-get clean 从下载的软件包中清理缓存
- apt-cache search searched-package 返回包含所要搜索字符串的软件包名称
查看文件内容
- cat file1 从第一个字节开始正向查看文件的内容
- tac file1 从最后一行开始反向查看一个文件的内容
- more file1 查看一个长文件的内容
- less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
- head -2 file1 查看一个文件的前两行
- tail -2 file1 查看一个文件的最后两行