目录
7 压缩包管理
7.1 tar
7.2 rar
7.3 zip
8 进程管理
8.1 who
8.2 ps
8.3 jobs
8.4 fg
8.5 bg
8.6 kill
8.7 env
8.8 top
9 用户管理
9.1 创建用户
9.2 设置用户组
9.3 设置密码
9.4 切换用户
9.5 root用户
9.6 删除用户
10 网络管理
10.1 ifconfig
10.2 ping
10.3 netstat
10.4 nslookup
10.5 finger
11 常用服务器构建
11.1 ftp
11.1.1 ftp服务器
11.1.2 ftp客户端
11.1.3 lftp客户端
11.2 nfs
11.3 ssh
11.4 scp
11.5 telnet
12 其它命令
12.1 终端翻页
12.2 man
12.3 clear
12.4 alias
12.5 echo
12.6 date
12.7 umask
12.8 创建终端
13 关机重启
13.1 poweroff
13.2 shutdown
13.3 reboot
13.4 查看内核版本信息
13.5 查看发行版信息
13.6 查看空闲内存
14 练习
15 需要安装的组件
7 压缩包管理
7.1 tar
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。r 把要存档的文件追加到档案文件的未尾。t 列出档案文件的内容,查看已经备份了哪些文件。u 更新文件。用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。x 从档案文件中释放文件。(常用)
辅选项包括:
f 使用档案文件或设备,这个选项通常是必选的。(常用)k 保存已经存在的文件。m 在还原文件时,把所有文件的修改时间设定为现在。M 创建多卷的档案文件,以便在几个磁盘中存放。v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。(常用)w 每一步都要求确认。z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。(常用)j 用bzip2来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。(常用)
要将文件备份到一个特定的设备,只需把设备名作为备份文件名。
tar cvf dir.tar dirtar xvf dir.tar dir
打gz压缩包:
tar zcvf dir.tar.gz dirtar zxvf dir.tar.gz
打bz2压缩包:
tar jcvf dir.tar.bz2 dirtar jxvf dir.tar.bz2
指定目录解压缩:
tar zxvf dir.tar.gz -C ~/test
7.2 rar
rar a -r newdir dir
unrar x newdir.rar
7.3 zip
zip -r dir.zip dir
解包:
unzip dir.zip
8 进程管理
8.1 who
8.2 ps
ps [选项]
-e 显示所有进程。-f 全格式。-h 不显示标题。-l 长格式。-w 宽输出。-r 只显示正在运行的进程。-a:即all,查看当前系统所有用户的所有进程-u:查看进程所有者及其他一些详细信息-x:显示没有控制终端的进程
这个命令参数有很多,但一般的用户只需掌握一些最常用的命令参数就可以了。 最常用的三个参数是u、a、x, 我们首先以root身份登录系统,查看当前进程状况。
ss
状态:
S
:睡眠状态(Sleeping or interruptible sleep)指示进程正在等待某个事件的发生。这个事件可能是IO操作的完成、等待用户输入等。当进程处于这个状态时,它是可以被中断的,响应系统信号。
R
:运行状态(Running)表示进程正在运行或准备运行。进程正在执行指令或者正在等待CPU时间片以继续执行。
D
:不可中断状态(Uninterruptible sleep)指示进程正在等待某个事件,但这个状态不可被中断。通常是由于进程正在执行系统调用或者等待IO操作的完成。
T
:停止状态(Stopped)表示进程已被停止,通常由用户或其他进程发送的信号导致。进程在停止状态下不会执行任何指令。
Z
:僵尸状态(Zombie)表示进程已经终止执行,但是其父进程尚未处理该进程的退出状态。僵尸进程会继续占用系统资源,直到被其父进程收回。
s+
状态:
S+
:使用s表示睡眠状态(Sleeping or interruptible sleep),表示进程处于可中断的睡眠状态。R+
:使用R表示运行状态(Running),表示进程正在运行
8.3 jobs
$ cat
(按下Ctrl-z挂起当前进程)
[1]+ Stoppedcat$ cat
(按下Ctrl-z挂起当前进程)
[1]+ Stoppedcat$ jobs[1]- Stoppedcat[2]+ Stoppedcat
8.4 fg
fg [job…]
8.5 bg
bg [job…]
$ cat
(按下Ctrl-z挂起当前进程)
[1]+ Stoppedcat$ bg %1[1]+ cat &$(再回车一次)[1]+ Stoppedcat$ fg %1cat(按Ctrl-d输入文件结束符)$
8.6 kill
kill [ -signal | -s signal ] pid ...
查看信号编号
kill -l [ signal ]
8.7 env
查看当前进程环境变量
$env
export PATH=$PATH:新路径
8.8 top
top
命令在Linux中用于实时监视系统的关键性能指标和运行中的进程。它提供了一个动态更新的任务管理器,可以显示CPU、内存、磁盘IO、网络等系统资源的使用情况,同时还列出了当前运行的进程的详细信息。
9 用户管理
9.1 创建用户
sudo useradd -s /bin/bash -g itcast -d /home/itcast -m itcastsudo useradd -s /bin/sh -g group -G adm,root xwp
-s 指定新用户登陆时shell类型-g 指定所属组,该组必须已经存在-G 指定附属组,该组必须已经存在-d 用户家目录-m 用户家目录不存在时,自动创建该目录
9.2 设置用户组
sudo groupadd itcast
9.3 设置密码
sudo passwd itcast
9.4 切换用户
su 用户名
su itcast
9.5 root用户
变成root用户
sudo su
设置root密码
passwd
9.6 删除用户
sudo userdel -r itcast
10 网络管理
安装
10.1 ifconfig
1.查看网卡信息ifconfig2.关闭网卡sudo ifconfig eth0 down3.开启网卡eth0sudo ifconfig eth0 up4.给eth0配置临时IPsudo ifconfig eth0 IP
10.2 ping
-c 数目 在发送指定数目的包后停止。-d 设定SO_DEBUG的选项。-f 大量且快速地送网络封包给一台机器,看它的回应。-I 秒数 设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。-l 次数 在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。-q 不显示任何传送封包的信息,只显示最后的结果。-r 不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。-s 字节数 指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。
10.3 netstat
netstat [选项]
-a 显示所有socket,包括正在监听的。-c 每隔1秒就重新显示一遍,直到用户中断它。-i 显示所有网络接口的信息,格式同“ifconfig -e”。-n 以网络IP地址代替名称,显示出网络连接情形。-r 显示核心路由表,格式同“route -e”。-t 显示TCP协议的连接情况。-u 显示UDP协议的连接情况。-v 显示正在进行的工作。
10.4 nslookup
itcast@ubuntu:~$ nslookup> www.itcast.cnServer:127.0.0.1Address:127.0.0.1#53Non-authoritative answer:Name:www.itcast.cnAddress: 115.29.149.42>
10.5 finger
itcast@ubuntu:~$ finger itcastLogin: itcastName: itcastDirectory: /home/itcastShell: /bin/bashOn since Mon Sep 8 08:55 (CST) on tty7 14 hours 48 minutes idleOn since Mon Sep 8 21:57 (CST) on pts/1 from :011 minutes 18 seconds idleOn since Mon Sep 8 23:12 (CST) on pts/2 from :06 seconds idleNo mail.No Plan.
11 常用服务器构建
11.1 ftp
11.1.1 ftp服务器
1.安装vsftpd服务器
sudo apt-get install vsftpd
2.配置vsftpd.conf文件
sudo vi /etc/vsftpd.conf
添加下面设置
anonymous_enable=YESanon_root=/home/itcast/ftpno_anon_password=YESwrite_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YESanon_umask=0022
sudo /etc/init.d/vsftpd restartubuntu14.04下sudo /lib/init/upstart-job vsftpd restart
cd ~/ftpmkdir anonymouschmod 777 anonymous
5.测试上传功能,登陆ftp服务器,进入到anonymous目录
ftp IPcd anonymous
6.上传命令,可以把你当前目录下的文件上传到ftp服务器的anonymous目录
put somefileget somefile
11.1.2 ftp客户端
11.1.3 lftp客户端
put 上传文件mput 上传多个文件get 下载文件mget 下载多个文件mirror 下载整个目录及其子目录mirror –R 上传整个目录及其子目录!command 调用本地shell执行命令command
sudo apt-get install lftp
11.2 nfs
1.安装nfs服务器
sudo apt-get install nfs-kernel-server
2.设置/etc/exports配置文件
sudo vi /etc/exports
添加这行配置
/home/用户名/nfs *(rw,sync,no_root_squash)
3.在用户目录下创建nfs目录
mkdir /home/用户名/nfs
4.重启服务器,重新加载配置文件
sudo /etc/init.d/nfs-kernel-server restart充当nfs服务器的主机,启动服务以后,可以使用showmount -e 查看共享出来的目录
5.在/home/用户名/nfs目录下创建测试文件hello
cd /home/用户名/nfstouch hello
6.测试服务器,把服务器共享目录nfs挂在到/mnt节点
sudo mount -t nfs -o nolock -o tcp IP:/home/用户名/nfs /mnt
sudo umount /mnt
(1).虚拟机下,mount 之前使用install nfs-common可以结决虚拟机不能mount实体系统的情况。(2).如在mount期间出现类似“超级坏块”错误导致无法挂载,很有可能是因为nfs-kernel-server未安装
11.3 ssh
1.安装ssh服务器
sudo apt-get install openssh-server
2.远程登陆
ssh 用户名@IP
11.4 scp
如没有安装使用 sudo apt-get install openssh-server 来安装
scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径 /保存到本机的绝对/相对路径举例:scp -r itcast@192.168.1.100:/home/itcast/QQ_dir/ ./mytest/lisi在后续会提示输入“yes”此时,只能输“yes”而不能简单输入“Y”
拷贝单个文件可以不加 -r参数,拷贝目录必须要加。
11.5 telnet
明文传输数据,请大家自行测试
12 其它命令
12.1 终端翻页
Shift-pageupShift-pagedown
12.2 man
man manman read 查看read命令的man pageman 2 read 查看read系统函数的man page(在第二个section中,表示为read(2))man -k read 以read为关键字查找相关的man page
12.3 clear
命令:clear快捷键:Ctrl-l
12.4 alias
$ aliasalias ls='ls --color=auto'alias rm='rm -i'
防止rm误删除,把下面这段代码写到∼/.bashrc里最后面。
mkdir -p ~/.trashalias rm=trashtrash(){mv $@ ~/.trash/}
12.5 echo
echo [-n] 字符串
echo $?
12.6 date
12.7 umask
umask [-p] -S [mode]
$ umask0022$ umask -Su=rwx,g=rx,o=rx
12.8 创建终端
创建终端标签 Ctrl + Shift + t切换标签 Alt+n(n=1)新开终端 Ctrl + Shift + n
13 关机重启
关机重启这些操作都需要有root权限
13.1 poweroff
13.2 shutdown
shutdown -t 秒数 [-rkhncfF] 时间 [警告讯息]
-t 秒数 : 设定在切换至不同的runlevel之前, 警告和删除二讯号之间的延迟时间(秒).-k : 仅送出警告讯息文字, 但不是真的要 shutdown.-r : shutdown 之後重新开机.-h : shutdown 之後关机.-n : 不经过 init , 由 shutdown 指令本身来做关机动作.(不建议你用)-f : 重新开机时, 跳过 fsck 指令, 不检查档案系统.-F : 重新开机时, 强迫做 fsck 检查.-c : 将已经正在 shutdown 的动作取消.
例子:
shutdown -r now 立刻重新开机shutdown -h now 立刻关机shutdown -k now 'Hey! Go away! now....' 发出警告讯息, 但没有真的关机shutdown -t3 -r now 立刻重新开机, 但在警告和删除processes 之间, 延迟3秒钟.shutdown -h 10:42 'Hey! Go away!' 10:42 分关机shutdown -r 10 'Hey! Go away!' 10 分钟後关机shutdown -c 将刚才下的 shutdown 指令取消,必须切换至其它tty, 登入之後, 才能下此一指令.shutdown now 切换至单人操作模式(不加任何选项时)
13.3 reboot
重启系统
13.4 查看内核版本信息
uname -a
13.5 查看发行版信息
lsb_release -a
13.6 查看空闲内存
free -m
14 练习
1.创建test目录,在里面创建aa bb cc三个目录,在aa里创建hello文件,在bb里创建 world目录,在cc里创建itcast.c,然后执行tree/ls -R,最后删除test
打开终端。
创建test目录:输入以下命令并按下Enter键。
插入代码复制代码
mkdir test
这将在当前目录下创建一个名为test的目录。
进入test目录:输入以下命令并按下Enter键。
插入代码复制代码
cd test
现在你在test目录中进行操作。
创建aa、bb和cc目录:输入以下命令并按下Enter键。
插入代码复制代码
mkdir aa bb cc
这将在test目录下创建名为aa、bb和cc的三个子目录。
进入aa目录:输入以下命令并按下Enter键。
插入代码复制代码
cd aa
现在你在aa目录中。
创建hello文件:输入以下命令并按下Enter键。
插入代码复制代码
touch hello
这将在aa目录中创建一个名为hello的空文件。
退出aa目录:输入以下命令并按下Enter键。
插入代码复制代码
cd ..
现在你回到了test目录。
进入bb目录:输入以下命令并按下Enter键。
插入代码复制代码
cd bb
现在你在bb目录中。
创建world目录:输入以下命令并按下Enter键。
插入代码复制代码
mkdir world
这将在bb目录中创建一个名为world的子目录。
退出bb目录:输入以下命令并按下Enter键。
插入代码复制代码
cd ..
现在你回到了test目录。
进入cc目录:输入以下命令并按下Enter键。
插入代码复制代码
cd cc
现在你在cc目录中。
创建itcast.c文件:输入以下命令并按下Enter键。
插入代码复制代码
touch itcast.c
这将在cc目录中创建一个名为itcast.c的空文件。
退出cc目录:输入以下命令并按下Enter键。
插入代码复制代码
cd ..
现在你回到了test目录。
查看目录结构:使用tree命令或者ls -R命令都可以显示目录结构。输入以下命令并按下Enter键。
- 使用tree命令:
插入代码复制代码
tree
- 使用ls -R命令:
插入代码复制代码
ls -R
这将显示test目录及其子目录和文件的树状结构或分层列表。
删除test目录及其内容:输入以下命令并按下Enter键。
插入代码复制代码
rm -r test
这将递归地删除test目录及其所有子目录和文件。
请注意,在执行删除操作之前,请务必确保你确实想要删除这些目录和文件,并且已经备份了重要的数据。
15 需要安装的组件
sudo apt-get install openssh-serversudo apt-get install nfs-kernel-serversudo apt-get install vsftpd