当前位置: 首页 > news >正文

Ubuntu Server 10.10 操作手记

一、硬盘安装UbuntuServer10.10 
【硬盘安装Ubuntu 10.10 服务器版】 
所需文件 
1. 镜像iso   2. vmlinuz   3. initrd.gz   
server版跟desktop版不同,vmlinuz和initrd.gz文件要到网上下载,这点一定要注意。 
http://archive.ubuntu.com/ubuntu/dists/natty/main/installer-i386/current/images/hd-media/ 
【注意】 
Ubuntu Server 10.10在安装的时候,可能是由于硬盘安装的缘故没有对网卡的支持,不过不要紧继续安装便是。 
【所需命令-----要在Grub中敲哦。】 
find /vmlinuz 
root (hdx,y)  注:(hdx,y) 是在find /vmlinuz命令后得出的结果。 
kernel /vmlinuz iso-scan/filename=ubuntu-10.10-server-i386.iso ro quiet 
initrd /initrd.gz 
boot 
 
二、启动关闭的网卡 
Ubuntu Server 10.10在安装的时候,可能是由于硬盘安装的缘故没有对网卡的支持,不过不要紧继续安装便是。 
现在我们就开启关闭的网卡,以DHCP动态获得IP为例。 
sudo vi /etc/network/interfaces     
# 增加     
auto eth0     
iface eth0 inet dhcp  
保存,退出。  
重启网卡命令如下:  
sudo /etc/init.d/networking restart 
 
三、建立SSH服务器 
最大的目的是为了在远程调试方便、传输文件方便、使用Clonezilla方便。 
sudo apt-get install ssh 
 
四、升级apt-get数据库 
如果不升级是发现不了wmaker包的。 
 sudo apt-get update 
五、安装GUI界面 
sudo apt-get install xinit wmaker 
xinit为基础X支持环境 
wmaker为一轻量化的桌面 
 
安装wmaker模拟终端软件 
sudo apt-get install xterm 
 
安装小插件 
sudo apt-get install wmclock 
 
安装文本编辑器 
sudo apt-get install nedit xjed 
 
汉化[因为有很多的汉字识别不了] 
 
五-2安装GNOME 
其实下面的包可以一块安装的 
安装Gnome 
apt-get install gnome-core 
安装GDM 
sudo apt-get install gdm 
 
Gnome中文支持包 
sudo apt-get install language-pack-gnome-zh 
 
将会安装下列额外的软件包: 
  language-pack-gnome-zh-hans language-pack-gnome-zh-hans-base 
  language-pack-gnome-zh-hant language-pack-gnome-zh-hant-base 
建议安装的软件包: 
  language-support-zh-hans language-support-zh-hant 
下列【新】软件包将被安装: 
  language-pack-gnome-zh language-pack-gnome-zh-hans 
  language-pack-gnome-zh-hans-base language-pack-gnome-zh-hant 
  language-pack-gnome-zh-hant-base 
升级了 0 个软件包,新安装了 5 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。 
需要下载 8,682kB 的软件包。 
解压缩后会消耗掉 35.6MB 的额外空间。 
 
安装解压软件 
sudo apt-get install file-roller 
增加 rar 软件压缩和解压缩支持 
sudo apt-get install rar unrar 
增加 zip 格式压缩和解压缩支持[此项不用做,安装完file-roller后就有了] 
sudo apt-get install zip unzip 
增加 lha 支持  
sudo apt-get install lha 
增加解 cab 文件支持 
sudo apt-get install cabextract 
 
压缩、解压知识 
解压缩 xxx.tar.gz  
tar -zxvf xxx.tar.gz 
解压缩 xxx.tar.bz2 
tar -jxvf xxx.tar.bz2 
压缩aaa bbb目录为xxx.tar.gz  
tar -zcvf xxx.tar.gz aaa bbb 
压缩aaa bbb目录为xxx.tar.bz2 
tar -jcvf xxx.tar.bz2 aaa bbb 
关于压缩内容来自网址:http://wiki.ubuntu.org.cn/UbuntuSkills#.E5.8E.8B.E7.BC.A9 
 
 
 
安装抓图软件 
sudo apt-get install gnome-screenshot 
 
安装计算器 
gcalctool 
 
Network status applet for GNOME 2 
sudo apt-get install gnome-netstatus-applet 
 
安装星际译王 
sudo apt-get install stardict 
到下面网址下载词典文件 
http://stardict.sourceforge.net/Dictionaries.php 
 
在桌面上的状态栏--网络连接消失问题解决办法 
sudo service network-manager stop 
sudo rm /var/lib/NetworkManager/NetworkManager.state 
sudo service network-manager start 
sudo gedit /etc/NetworkManager/nm-system-settings.conf 
把false改成true 
sudo service network-manager restart 
如果不行的话,可以试试下面的方法: 
打开终端,终端窗口打开之后,在提示符后面分别执行下列命令: 
gconftool --recursive-unset /apps/panel 
rm -rf ~/.gconf/apps/panel 
pkill gnome-panel 
 
关于小插件 
Network status applet for GNOME 2 
sudo apt-get install gnome-netstatus-applet 
Cross-platform configuration utilities for GNOME(Users and groups,Date and time,Network configuration,Bootloaders) 
sudo apt-get install gnome-system-tools 
 
gnome-audio 音效 
安装Ubuntu软件中心 
sudo apt-get install  gnome-app-install  [ubuntu-gnome桌面环境软件的安装管理器] 
KDE中文支持包 
sudo apt-get install language-pack-kde-zh 
六、安装新版Fcitx输入法 
删除旧版或其它输入法(也可跳过此步) 
Ubuntu10.10 默认是安装了ibus.所以删除它 
sudo apt-get remove ibus 
对于已经安装老版 的fcitx,删掉再装. 
sudo apt-get remove fcitx 
sudo vi /etc/apt/sources.list 
文件中尾部添加 
deb http://ppa.launchpad.net/wengxt/fcitx-nightly/ubuntu lucid main 
更新系统:sudo apt-get upgrade 
从升级信息上可以看出,内核更新了。 
zheng@DRBL5:~$ sudo apt-get install fcitx 
正在读取软件包列表... 完成 
正在分析软件包的依赖关系树 
正在读取状态信息... 完成 
将会安装下列额外的软件包: 
  defoma fontconfig im-switch libxtst6 ttf-arphic-uming x-ttcidfont-conf 
建议安装的软件包: 
  defoma-doc psfontmgr dfontmgr libfont-freetype-perl zenity 
下列【新】软件包将被安装: 
  defoma fcitx fontconfig im-switch libxtst6 ttf-arphic-uming x-ttcidfont-conf 
升级了 0 个软件包,新安装了 7 个软件包,要卸载 0 个软件包,有 2 个软件包未被升级。 
需要下载 20.8MB 的软件包。 
解压缩后会消耗掉 58.8MB 的额外空间。 
您希望继续执行吗?[Y/n]y 
获取:1 http://cn.archive.ubuntu.com/ubuntu/ maverick/main defoma all 0.11.11ubuntu1 [101kB] 
获取:2 http://cn.archive.ubuntu.com/ubuntu/ maverick/main ttf-arphic-uming all 0.2.20080216.1-3ubuntu2 [7,828kB] 
获取:3 http://cn.archive.ubuntu.com/ubuntu/ maverick/main libxtst6 i386 2:1.1.0-3 [18.9kB] 
获取:4 http://cn.archive.ubuntu.com/ubuntu/ maverick/universe fcitx i386 1:3.6.3-1 [12.7MB] 
获取:5 http://cn.archive.ubuntu.com/ubuntu/ maverick/main fontconfig i386 2.8.0-2ubuntu1 [156kB] 
获取:6 http://cn.archive.ubuntu.com/ubuntu/ maverick/main im-switch all 1.20ubuntu2 [18.4kB] 
获取:7 http://cn.archive.ubuntu.com/ubuntu/ maverick/main x-ttcidfont-conf all 32 [23.8kB] 
下载 20.8MB,耗时 27秒 (763kB/s) 
 
 
 
七、启动界面修改GRUB2 
一定要注意的是,在Grub2中如果在启动标题项中没有中文的话默认是不启动高分辨率的模式的。如下代码可以说明: 
if loadfont /usr/share/grub/unicode.pf2 ; then 
  set gfxmode=1024x768 
  load_video 
  insmod gfxterm 
fi 
 
 
7.1grub的中文支持 
默认ubuntu 10.10的grub2是支持中文的。 
7.2设置分辨率 
sudo mkdir /boot/grub/images 
sudo cp ggzheng.jpg /boot/grub/images/ 
sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak1 
sudo vi /boot/grub/grub.cfg 
#set gfxmode=640x480 
set gfxmode=1024x768 
 
7.3 添加背景图片 

insmod jpeg   
#这二行是支持jpeg和png图片格式 
insmod png 
insmod part_msdos 
insmod ext2 
 
设置背景图片使之符合要求。【图片的尺寸要和分辨率的一致】 
#通过安装一个软件包来实现命令行对图片的加工,名字给忘记了。用了一个现成的图片。 
 sudo convert /home/zheng/gzheng.JPG -resize 1024x768! -colors 24 ggzheng.jpg 
 
sudo vi /boot/grub/grub.cfg 
if [ "${recordfail}" = 1 ]; then 
  set timeout=-1 
else 
  set timeout=2 
fi 

background_image (hd0,1)/boot/images/ggzheng.jpg 
 
完整的grub.cfg记录:【其中,###紧挨着的下一行为手动添加的】 

# DO NOT EDIT THIS FILE 

# It is automatically generated by grub-mkconfig using templates 
# from /etc/grub.d and settings from /etc/default/grub 

 
### BEGIN /etc/grub.d/00_header ### 
if [ -s $prefix/grubenv ]; then 
  set have_grubenv=true 
  load_env 
fi 
set default="0" 
if [ "${prev_saved_entry}" ]; then 
  set saved_entry="${prev_saved_entry}" 
  save_env saved_entry 
  set prev_saved_entry= 
  save_env prev_saved_entry 
  set boot_once=true 
fi 
 
function savedefault { 
  if [ -z "${boot_once}" ]; then 
    saved_entry="${chosen}" 
    save_env saved_entry 
  fi 

 
function recordfail { 
  set recordfail=1 
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi 

 
function load_video { 
 
function load_video { 
  insmod vbe 
  insmod vga 

 
insmod part_msdos 
insmod reiserfs 
set root='(hd0,msdos1)' 
search --no-floppy --fs-uuid --set 0b2eec8c-ca4a-49e8-b005-95cf31b39491 
if loadfont /usr/share/grub/unicode.pf2 ; then 
#loadfont /usr/share/grub/unicode.pf2 
  set gfxmode=1024x768 
  load_video 
  insmod gfxterm 
fi 
terminal_output gfxterm 
#background_image (hd0,3)/images/ggzheng.jpg 
 
insmod part_msdos 
insmod ext2 
set root='(hd0,msdos3)' 
search --no-floppy --fs-uuid --set 307fc106-a97b-443b-96a6-ab1988815a49 
set locale_dir=($root)/grub/locale 
set lang=zh 
 
insmod gettext 
### 
#由于boot是一个单独的分区,在系统中为hda3则在Grub应该为(hd0,3) 
#而且,insmod jpeg语句应该在set root='(hd0,msdos3)'后设置,表示给(hd0,3)加载上了jped模块 
#如果在上面的set root='(hd0,msdos1)'后写则是加载了(hd0,1)中的,此种情况只适合boot在hda1中的情况,对(hd0,3)并不生效。 
### 
insmod jpeg 
#if [ "${recordfail}" = 1 ]; then 
#  set timeout=-1 
#else 
#set timeout=6 
#fi 
set timeout=6 
background_image (hd0,3)/images/ggzheng.jpg 
### END /etc/grub.d/00_header ### 
 
### BEGIN /etc/grub.d/05_debian_theme ### 
set menu_color_normal=white/black 
set menu_color_highlight=black/light-gray 
### END /etc/grub.d/05_debian_theme ### 
 
### BEGIN /etc/grub.d/10_linux ### 
#menuentry 'Ubuntu, with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux --class gnu --class os { 
menuentry '启动企鹅龙Linux系统' --class ubuntu --class gnu-linux --class gnu --class os { 
        recordfail 
        insmod part_msdos 
        insmod ext2 
        set root='(hd0,msdos3)' 
        search --no-floppy --fs-uuid --set 307fc106-a97b-443b-96a6-ab1988815a49 
        linux   /vmlinuz-2.6.35-22-generic root=UUID=0b2eec8c-ca4a-49e8-b005-95cf31b39491 ro   quiet splash 
        initrd  /initrd.img-2.6.35-22-generic 

menuentry 'Ubuntu, with Linux 2.6.35-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os { 
        recordfail 
        insmod part_msdos 
        insmod ext2 
        set root='(hd0,msdos3)' 
        search --no-floppy --fs-uuid --set 307fc106-a97b-443b-96a6-ab1988815a49 
        echo    'Loading Linux 2.6.35-22-generic ...' 
        linux   /vmlinuz-2.6.35-22-generic root=UUID=0b2eec8c-ca4a-49e8-b005-95cf31b39491 ro single 
        echo    'Loading Linux 2.6.35-22-generic ...' 
        linux   /vmlinuz-2.6.35-22-generic root=UUID=0b2eec8c-ca4a-49e8-b005-95cf31b39491 ro single 
        echo    'Loading initial ramdisk ...' 
        initrd  /initrd.img-2.6.35-22-generic 

### END /etc/grub.d/10_linux ### 
 
### BEGIN /etc/grub.d/20_linux_xen ### 
### END /etc/grub.d/20_linux_xen ### 
 
### BEGIN /etc/grub.d/20_memtest86+ ### 
menuentry "Memory test (memtest86+)" { 
        insmod part_msdos 
        insmod ext2 
        set root='(hd0,msdos3)' 
        search --no-floppy --fs-uuid --set 307fc106-a97b-443b-96a6-ab1988815a49 
        linux16 /memtest86+.bin 

menuentry "Memory test (memtest86+, serial console 115200)" { 
        insmod part_msdos 
        insmod ext2 
        set root='(hd0,msdos3)' 
        search --no-floppy --fs-uuid --set 307fc106-a97b-443b-96a6-ab1988815a49 
        linux16 /memtest86+.bin console=ttyS0,115200n8 

### END /etc/grub.d/20_memtest86+ ### 
 
### BEGIN /etc/grub.d/30_os-prober ### 
###将此模块中的内容全部注释掉 
###否则在启动时是看不到Grub的菜单界面的,只有启动过程中按SHIFT可以显示菜单,注释掉就不存在这个问题了 
#if [ "x${timeout}" != "x-1" ]; then 
# if keystatus; then 
#   if keystatus --shift; then 
#     set timeout=-1 
#   else 
#     set timeout=0 
#   else 
#     set timeout=0 
#   fi 
# else 
#   if sleep --interruptible 3 ; then 
#     set timeout=0 
#   fi 
# fi 
#fi 
### END /etc/grub.d/30_os-prober ### 
 
### BEGIN /etc/grub.d/40_custom ### 
# This file provides an easy way to add custom menu entries.  Simply type the 
# menu entries you want to add after this comment.  Be careful not to change 
# the 'exec tail' line above. 
### END /etc/grub.d/40_custom ### 
 
### BEGIN /etc/grub.d/41_custom ### 
if [ -f  $prefix/custom.cfg ]; then 
  source $prefix/custom.cfg; 
fi 
### END /etc/grub.d/41_custom ### 
 
八、手工安装再生龙“Clonezilla”到硬盘中 
首先,选定要放置再生龙的分区,我选择的是: 
/dev/sda6             192G  156M  192G   1% /home 
再生龙目录:/home/clonezilla 
 
##再生龙在Grub.cfg中的配置## 
menuentry "再生龙系统恢复软件" { 
set root=(hd0,6) 
linux /clonezilla/live/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" ocs_live_keymap=\"\" ocs_live_batch=\"no\" ocs_lang=\"zh_CN.UTF-8\" vga=788 ip=frommedia nosplash live-media-path=/clonezilla/live bootfrom=/dev/sda6 toram=filesystem.squashfs 
initrd /clonezilla/live/initrd.img 

#### 
内容解释: 
menuentry    表示标题,在Grub启动时的选项菜单中出现。 
linux /clonezilla/live/vmlinuz    加载的内核文件所在位置 
boot=live    启动方式为live 
live-config noswap    不设置缓存 
ocs_live_keymap=\"\"    键盘种类不预设 
ocs_lang=\"zh_CN.UTF-8\"    预设语言为中文 
live-media-path=/clonezilla/live    live镜像文件路径 
bootfrom=/dev/sda6    要启动的分区,和clonezilla所有分区一致,均为home的hda6 
initrd /clonezilla/live/initrd.img    加载initrd.img镜像文件 
 
九、安装字体 
9.1、准备字体 
XP的字体存放在c:\windows\fonts目录下,我们把喜爱的字体拷贝出来,比如simsun.ttc、simkai.ttf、simhei.ttf、simfang.ttf等。把这些字体文件拷贝到Ubuntu的/usr/share/fonts/xpfonts目录下。 
注:如果你发现在/usr/share/fonts/ 下不能创建新的文件夹,那么请用root 用户登录。 
9.2、导入字体 
打开“终端”运行以下命令行,建立字体缓存信息: 
sudo mkfontscale 
sudo mkfontdir 
sudo fc-cache -fv 
命令执行成功后终端上会显示: 
fc-cache: succeeded 
 
十、安装Flash插件 
在打开百度mp3在线听歌时会使用到Flash插件,此时需要安装它,才能满足要求。在Ubuntu Server 10.10下需要Root用户的密码,但是Ubuntu默认是不设置Root的密码的,怎么办?在命令窗口输入:sudo passwd来设置Root用户的密码。然后,你自然就知道了。呵呵! 
 
十一、美化Ubuntu Server 
在以下网址可以下载到相关的美化内容: 
http://art.gnome.org/themes/ 
具体内容不复赘述。 
 
十二、安装音乐播放器 
sudo apt-get install audacious 
歌曲名称显示为乱码,解决方法:文件——>首选项——>播放列表——>歌曲显示———>自定义——>自定义字符串改为%f 
安装超级好音乐播放器rhythmbox 
sudo apt-get install rhythmbox 
让rhythmbox支持MP3 
sudo apt-get install gstreamer0.10-plugins-ugly 
 
十三、安装PPS 
来自:PPS.TV 
软件版本:0.1.1678 
    * 安装需求:Ubuntu 8.04+, 只能用于x86 Linux个人电脑. 
    * 软件大小:1.5MB(deb包) 
安装说明: 
辅助软件: 
    安装PPS Linux版本前需要先安装以下辅助软件:[其实这些都不必安装,在刺激系统后用apt-get -f install就可以解决了。] 
    * QT库, 4.4.0及以上版本 
    * libFuse库, 2.7.2及以上版本 
    * Mplayer, 1.0rc2及以上版本 
    * MPlayer视频解码器: MPlayer Essential Codec Pack(http://www.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2) 
   
    推荐使用apt-get方式安装: sudo apt-get install libqt4-core libqt4-dbus libqt4-gui libqt4-network libqt4-webkit libqt4-xml libfuse2 mplayer 
 
安装PPS: 
    sudo dpkg -i ppstream_1.0.0-1_i386.deb 
其实,你在安装软件时缺少文件时,ubuntu会让你运行apt-get -f install来自动解决依赖问题。 
1、下载ubuntu pps安装包 
http://download.ppstream.com/ppstream_1.0.0-1_i386.deb 
2、直接双击安装deb包,会自动下载安装相应的库、软件包。 
3、运行程序,如果没有声音,“工具”->"选项"->音频设备, 选择alsa 
参考资料(手动安装): 
http://www.pps.tv/about/6/364.html 
 
十四、利用Terminator在Ubuntu中同时打开多个终端窗口 
对Linux系 统进行管理时,我们经常需要通过终端窗口输入各种操作命令。在GNOME集成桌面环境下,GNOME终端(gnome-terminal)是我们经常使用 的终端程序,每次运行该程序都将打开一个单独的终端窗口。当我们进行命令行操作时,有时需要打开多个终端窗口,并且希望这些窗口能同时平铺显示,那该怎么 办呢?其实,借助一款小巧而实用的软件——Terminator就可以轻松实现这一功能。 
 
直接安装即可: 
sudo apt-get install terminator 
然后在“应用程序->附件”中会有“Terminator” 
 
十五、挂载光驱 
sudo mount -o loop .Office2007Professional.iso /mnt/ 
 
十六、安装VMware7 
这时需要安装linux-headers-2.6.35-28-generic来编译,执行下面的命令即可。 
sudo apt-get install linux-headers-2.6.35-28-generic 
 
十七、安装屏幕保护
有两种选择:
其一:
sudo apt-get install gnome-screensaver
其二:
xscreensaver 是多数Linux和Unix操作系统上标准的屏幕保护,运行在X11上。 
项目主页:http://www.jwz.org/xscreensaver/ 
如何在Ubuntu上安装? 
首先,移除gnome-screensaver 
sudo apt-get remove gnome-screensaver 
安装 xscreensaver 
打开终端,使用命令: 
sudo apt-get install xscreensaver 
然后启动 xscreensaver 后台进程即可: 
xscreensaver -nosplash 
这样,可在“系统–首选项”里面进行相关配置了。 
我们还需要设置“开机启动”:“系统–首选项–设为开机启动”,点击添加,命令为xscreensaver -nosplash ,名字自己定义即可。 
最后,为了确保所有的屏保都可以使用,需添加:

sudo apt-get install unicode-screensaver xscreensaver-gl-extra rss-glx xscreensaver-data-extra



本文转自tiancong 51CTO博客,原文链接:http://blog.51cto.com/tiancong/656134

相关文章:

  • JavaScript 基本功--面试宝典
  • Oracle Number用法
  • Linux下随机10字符病毒的清除
  • wbadmin执行备份命令
  • Oracle Study之案例--通过IPCS查看共享内存之“怪现象”
  • DVDROM驱动不能加载的问题
  • 【驱动】linux设备驱动·扫盲
  • 对Context的重新思考
  • 在RHEL5下构建LAMP网站服务平台之架设Discuz!论坛
  • 依赖倒置原则
  • .net Application的目录
  • React Router
  • 【干货分享】常用端口服务对照表
  • IO操作
  • 【Window OS】解决Win7远程桌面无法全屏的方法
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • CEF与代理
  • CSS盒模型深入
  • Docker入门(二) - Dockerfile
  • iOS | NSProxy
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Sass Day-01
  • spring boot 整合mybatis 无法输出sql的问题
  • vagrant 添加本地 box 安装 laravel homestead
  • vue-router的history模式发布配置
  • 前端性能优化--懒加载和预加载
  • 前言-如何学习区块链
  • 全栈开发——Linux
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • $().each和$.each的区别
  • $jQuery 重写Alert样式方法
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (南京观海微电子)——COF介绍
  • (十一)手动添加用户和文件的特殊权限
  • (四)模仿学习-完成后台管理页面查询
  • (转)可以带来幸福的一本书
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .net core webapi 大文件上传到wwwroot文件夹
  • .Net IOC框架入门之一 Unity
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .netcore 获取appsettings
  • .NetCore项目nginx发布
  • @Responsebody与@RequestBody
  • [<死锁专题>]
  • [145] 二叉树的后序遍历 js
  • [ANT] 项目中应用ANT
  • [BZOJ] 2006: [NOI2010]超级钢琴
  • [C++]打开新世界的大门之C++入门
  • [CSS]中子元素在父元素中居中
  • [E单调栈] lc2487. 从链表中移除节点(单调栈+递归+反转链表+多思路)
  • [go] 迭代器模式
  • [HTML]HTML5实现可编辑表格
  • [Linux] day07——查看及过滤文本