目录
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