1. 学习 Linux 基本命令之前必需了解的基本内容和概念
1). 目录结构:Linux 采用树型结构组织目录
/ 根目录,一切文件都源自这里
/bin 普通用户的命令文件
/sbin 超级用户的命令文件
/boot Linux 的内核及 grub 等相关文件
/dev 系统设备放在这里(Linux下所有设备都是文件)
/etc 系统配置文件放在这里
/home 用户的根目录(通常普通用户只有自己目录的写权限)
/lib Linux 的程序通用动态库文件
/mnt Linux 预留的磁盘挂载目录
/proc 内在中的设备信息挂载在这里
/tmp 临时文件目录
/usr 应用程序目录
/usr/src 对应程序源代码文件
/usr/bin 对应普通用户程序编译后的文件
/usr/sbin 对应超超级用户程序编译后的文件
/var 存放变动信息的文件的位置,比如:日志文件、缓存文件
2). 基本概念:
a. Linux 是真正的多用户、多任务的操作系统
b. 绝对路径从 /(根) 开始,相对路径从当前目录开始
c. 调用命令帮忙信息的几种方法
help 命令 或者 命令 --help 简单帮助
man 命令 命令手册(如果有的话)
info 命令 同 man
d. 输入命令时连按两次 Tab 键,可以补全命令或操作目录、文件
2. Linux 基本命令的基本用法。详细用法参照:命令 --help 寻找更多信息
sudo: Executing Commands with Elevated Privileges 执行命令特权 sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登陆 和管理时间,同样也提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。
1). 文件和目录管理类常用命令
ls 列出目录和文件。实列:ls /boot -lha a表示全部,h表示友好方式,l表示详细列表
touch 创建空文件。实例:touch a 创建一个名为 a 的空文件
mkdir 创建空目录。实例:mkdir a 创建一个名为 a 的空目录
其它常用方法:mkdir d1 d2 /home/user1/d3 创建三个空目录
cat,less,more 查看文件内容。实例:cat a 区别:cat 一次次全部显示,less 分页显示内容可返回
查看,more 同 less 只是查看文件内容的过程里不能向上返回。
cat /proc/cpuinfo显示CPU信息
rm 删除文件或目录。实例:rm a 删除文件a,rm -r a 删除目录 a 及所有子目录和文件
rmdir 删除空目录
cp 复制文件或目录。实例:cp a b 复制文件 a 为文件 b,cp -r a b 复制目录 a 为目录 b
mv(移动):移动命令,若移动的位置还算原来的路径,那么他就是个重命名命令,这个不难理解。比如 mv 文件1 文件2。文件2可以仅仅是路径也可以是包括文件的路径 。若仅仅是路径,那文件仅仅是移动而不会改名,当然,你也可以在移动过程中重新命名。
find 查找文件。实例:find . -name a 在当前目录查找名为 a 的文件
sudo find / -name ls 从根目录开始查找名为 ls 的文件在什么位置
pwd 显示当前目录
cp(复制):复制命令,格式为cp 文件1 文件2 。文件1和文件2还有cp之间当有空格。文件1和文件2可以包括路径。值得注意的是,这样并不能复制目录,复制目录要加入递归参数,即 cp -r 目录1 目录2
cd 改变目录 实例:cd /boot 切换到 /boot 目录。cd - 切换到上次工作目录 。cd 回主目录
默认打开终端进入的是你的家(home)目录 。要进入文件系统就输入cd. 。几个参数例子:
进入根目录,输入"cd /" ,不含双引号,cd和/之间有空格,下同。
进入家目录输入 "cd" 或者 "cd ~"
进入上一级目录输入 "cd .."
回到之前的目录输入 "cd -"
当然你想进入一个目录,而你又知道他的绝对路径的话,可以直接输入绝对路径,比如 cd /boot/grub就是直接进入 /boot/grub。另外,如果你在cd后面并不加 / 的话,那就是进入当前目录的下的文件,比如你现在在家目录 /home/XXX,输入 cd pictures那就是进入/home/XXX/pictures目录
2). 磁盘管理
df 查看磁盘容量及使用情况。如:df -h 以友好方式显示磁盘使用情况
du 查看目录体积。如: du -sh 列出当前目录体积。sudo du /etc -sh 列出 /etc 目录体积
mount 挂载磁盘设备。如:sudo mount /dev/cdrom /mnt 将光驱挂载到 /mnt 目录
unmount 卸载磁盘设备。如:sudo unmount /dev/cdrom 卸载设备与卸载挂载点等效。
eject 弹出磁盘设备。如:eject /dev/cdrom 弹出光驱
hdparm 测试磁盘速度。如:sudo hdparm -tT /dev/sda 测试磁盘 sda 的缓存和缓冲读取速度
cfdisk 磁盘分区。
mkfs 分区格式化。 如:sudo mkfs -T fat32 /dev/sda1 将sda上的第一个分区格式化为 fat32 格式
sync 将已更改的数据写入磁盘。
3). 用户管理
useradd 添加一个用户。如:sudo useradd user1 添加一个名为 user1 的用户。
userdel 删除一个用户。如:sudo userdel user1 删一个名为 user1 的用户。
groupadd 添加一个用户组。如:sudo groupadd guest 添加一个名为 guest 的用户组。
groupdel 删除一个用户组。如:sudo groupdel guest 删除一个名为 guest 的用户组。
groups 查看用户所在组。如:groups user3 查看 user3 属性哪个组。
usermod 更改一个用户的属性。如:sudo usermod -g guest user3 将 user3 移到 guest 这个组中。
id 显示用户的 ID 号。如:id user3 查看 user3 这个用户的 ID 号。
passwd 修改用户密码。如:sudo passwd user3 回车后修改 user3 这个用户的密码。
sudo passwd 修改 root 密码
who 显示当前所有用户。
whoami 显示当前用户。
finger 显示用户信息。如:finger root 显示 root 的信息。
su 切换用户。如:su root 切换为root 身份,su - root 完全切换到
sudo 切换用户并运行。如:sudo -u user3 ls 以 user3 身份列出当前目录
4). 进程管理
ps 查看当前进程。如:ps aux 显示当前所有进程
pstree 树型显示进程。
top 动态查看进程。
kill [pid] 通过进程号结束进程。
pkill [pname] 通过进程名结束进程。
jobs 查看后台进程。
5). 网络命令
ping [ip/domain] 测试到指定电脑的网络是否畅通。
ifconfig 查看当前网络 IP 信息
netstat -an 查看当前网络连接及端口信息
6). 压缩包管理
文件类型 相关命令
.tar tar 常用参数:c 打包,v 可视进度,f 生成文件的名字,后面紧跟要生成的文件名,x 解包,z 是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
sudo tar cvf backup.tar /var/log/* 将 /var/log 下所有文件打包为 backup.tar 文件
tar xvf backup.tar 解包 backup.tar 文件
.gz gzip,gunzip 对应 gz 的压缩与解压缩
.bz2 bzip2,bunzip 对应 bz2 的压缩与解压缩,压缩率比 gz 高点。
.zip zip,unzip 对应 zip 格式的压缩与解压
.rar rar a,rar x 对应 rar 格式的压缩与解压
.Z compress,uncompress 也可使用 gz 工具解压
7z 7z 工具可以解压以上所有格式
.tar.gz 通常是用 tar 打包,再用 gzip 工具压缩生成的
.tar.bz2 通常是用 tar 打包,再用 bzip2 工具压缩生成的
7). 软件包管理命令
安装软件 apt-get install softname1 softname2 softname3……
卸载软件 apt-get remove softname1 softname2 softname3……
卸载并清除配置 apt-get remove --purge softname1
更新软件信息数据库 apt-get update
进行系统升级 apt-get upgrade
搜索软件包 apt-cache search softname1 softname2 softname3……
安装deb软件包 dpkg -i xxx.deb
删除软件包 dpkg -r xxx.deb
连同配置文件一起删除 dpkg -r --purge xxx.deb
查看软件包信息 dpkg -info xxx.deb
查看文件拷贝详情 dpkg -L xxx.deb
查看系统中已安装软件包信息 dpkg -l
重新配置软件包 dpkg-reconfigure xxx
8). Ubuntu 任务管理
单次任务:只执行一次的任务。 ( at 编辑,atq 查看,atrm 删除 )
周期任务:按一定周期循环执行的任务。 ( crontab -e 编辑,crontab -l 查看,crontab -r 清空任务)
实例:
a. 在 0:00 分执行关机命令:# at 0:00 回车开始编辑命令:at>poweroff 按 Ctrl+D 保存并退出。
查看单次任务列表:#atq 回车,删除单次任务:#atrm [atid] 按任务 ID 号删除任务。
b. 每天零晨 2 点执行 back.sh 脚本
#crontab -e 进入编辑,选择一款编辑器开始编辑内容如:
#m h dom mon dow command (格式)
* 2 * * * back.sh (保存)
重启计划任务即可将周期任务列入进程:#sudo /etc/init.d/cron restart
每分钟执行,每一个参数用:*/1
9).Ubuntu关机重启命令简介
重启命令:
1、 reboot
2、 shutdown -r now立刻重启(root用户使用)
3、 shutdown -r 10过10分钟自动重启
4、 shutdown -r 20:35在时间为20:35时候重启
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启。
关机命令:
1、 halt立刻关机
2、 poweroff立刻关机
3、 shutdown -h now立刻关机
4、 shutdown -h 1010分钟后自动关机