Linux 系统,一般分为 4 个主要部分:硬件、内核、系统调用、应用程序,内核和系统调用就形成了基本的操作系统。
今天,我介绍的内容并不是 Linux 的基本概念,而是 Linux 常用命令的分享。
在 Linux 中,最最最最重要的就是命令了。
真正学习命令行之前,你先要掌握几个十分有用、必需掌握的的快捷键:
(1)Tab:补全命令,补全目录、补全命令参数等;
(2)Ctrl+c:强行终止当前程序;
(3)其他
按键 | 作用 |
---|---|
Ctrl+d | 键盘输入结束或退出终端 |
Ctrl+s | 暂停当前程序,暂停后按下任意键恢复运行 |
Ctrl+z | 将当前程序放到后台运行,恢复到前台为命令 fg |
Ctrl+a | 将光标移至输入行头,相当于 Home 键 |
Ctrl+e | 将光标移至输入行末,相当于 End 键 |
Ctrl+k | 删除从光标所在位置到行末 |
Alt+Backspace | 向前删除一个单词 |
Shift+PgUp | 将终端显示向上滚动 |
Shift+PgDn | 将终端显示向下滚动 |
查看 Linux 系统信息
arch
显示机器的处理器架构(1)
uname
-m
显示机器的处理器架构(2)
uname -r
显示正在使用的内核版本
d
midecode q
显示硬件系统部件-(SMBIOS / DMI)
hdparm -i /dev/hda
罗列一个磁盘的架构特性
hdparm -tT /dev/sda
在磁盘上执行测试性读取操作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
显示已加载的文件系统
lspci -tv
罗列 PCI 设备
lsusb -tv
显示 USB 设备
date 显示系统日期
cal 2007
显示 2007 年的日历表dat
e 04121
7002007.00
设置日期和时间-月日时分年.秒clock -w
将时间修改保存到 BIOS
关机、重启、登出
shutdown -h now
关闭系统(1)
init 0
关闭系统(2)telinit 0
关闭系统(3)shutdown -h hours:minutes &
按预定时间关闭系统shutdown -c
取消按预定时间关闭系统shutdown -r now
重启(1)reboot
重启(2)logou
t
注销
文件和目录
cd /home
进入 '/ home' 目录'
cd ..
返回上一级目录
cd ../..
返回上两级目录
cd
进入个人的主目录
cd ~user1
进入个人的主目录
cd -
返回上次所在的目录
pwd
显示工作路径
ls
查看目录中的文件
ls -F
查看目录中的文件
ls -l
显示文件和目录的详细资料
ls -a
显示隐藏文件
ls *[0-9]*
显示包含数字的文件名和目录名
tree
显示文件和目录由根目录开始的树形结构(1)
lstree
显示文件和目录由根目录开始的树形结构(2)
mkdir dir1
创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2
同时创建两个目录
mkdir -p /tmp/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天内被创建或者修改过的文件find / -name \*.rpm -exec chmod 755 '{}' \;
搜索以 '.rpm' 结尾的文件并定义其权限find / -xdev -name \*.rpm
搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备locate \*.ps
寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令whereis halt
显示一个二进制文件、源码或man的位置
which halt
显示一个二进制文件或可执行文件的完整路径
磁盘空间
df -h
显示已经挂载的分区列表ls -lSr |more
以尺寸大小排列文件和目录du -sh dir1
估算目录 'dir1' 已经使用的磁盘空间'du -sk * | sort -rn
以容量大小为依据依次显示文件和目录的大小rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n
以大小为依据依次显示已安装的rpm包所使用的空间
(fedora, redhat类系统)dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n
以大小为依据显示已安装的deb包所使用的空间 ( ubuntu, debian 类系统)
用户和群组
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' 排除主目录)usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1
修改用户属性passwd
修改口令passwd user1
修改一个用户的口令 (只允许root执行)chage -E 2005-12-31 user1
设置用户口令的失效期限pwck
检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户grpck
检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组newgrp group_name
登陆进一个新的群组以改变新创建文件的预设群组