为您找到与linux透明终端相关的共200个结果:
欢迎大家来到读文网,本文教你怎样解决Linux操作系统终端乱码问题,欢迎大家阅读。
初入linux的程序员们,经常会受到乱码的问候。可谓“始乱终弃”。因为乱码,并且最终放弃了linux的不在少数。好吧,言归正传,先看看各类乱码是怎么形成的。
虽说ORACLE支持多国语言,会根据环境变量自动选择字符集,但中文安装好像还有问题,不过10.2以后的版本好像没有该问题了,具体可以执行命令export LANG=en_US来设置为英文字符集环境
浏览量:2
下载量:0
时间:
现如今,电脑的使用越来越普遍,几乎每家每户都有电脑,而电脑的操作离不开操作系统,在这里,读文网小编就向大家介绍Linux常用终端命令。
Linux相对于windows来说了解的人就少了放多,刚接触学习linux的朋友不知道如何下手去系统的学习,其实linux基本上都是用命令去执行操作的。如果大家了解这些命令,对学习能带来很大的帮助,下面就说说一些常见的终端命令。
1. Man手册
Man手册会为你列出命令和参数的使用大纲,教你如何使用她们。Man手册看起来沉闷呆板。(我思忖她们也不是被设计来娱乐我们的)。
不过这不代表你不能做些什么来使她们变得漂亮些。
export PAGER=most你需要安装‘most’;她会使你的你的man手册的色彩更加绚丽。
你可以用以下命令给man手册设定指定的行长:
export MANWIDTH=80最后,如果你有一个可用的浏览器,你可以使用-H在默认浏览器中打开任意的man页。
man -H 注意啦,以上的命令只有在你将默认的浏览器设置到环境变量$BROWSER中了之后才效果哟。
2.使用htop查看和管理进程
你用哪个命令找出电脑上正在运行的进程的呢?我敢打赌是‘ps’并在其后加不同的参数来得到你所想要的不同输出。
安装‘htop’吧!绝对让你相见恨晚。
htop在终端中将进程以列表的方式呈现,有点类似于Windows中的任务管理器。你可以使用功能键的组合来切换排列的方式和展示出来的项。你也可以在htop中直接杀死进程。
在终端中简单的输入htop即可运行。
htop
3.使用ranger浏览文件系统
如果说htop是命令行进程控制的好帮手,那么ranger就是命令行浏览文件系统的好帮手。
你在用之前可能需要先安装,不过一旦安装了以后就可以在命令行输入以下命令启动她:
ranger在命令行窗口中ranger和一些别的文件管理器很像,但是相比上下结构布局,她是左右结构的,这意味着你按左方向键你将前进到上一个文件夹,而右方向键则会切换到下一个。
在使用前ranger的man手册还是值得一读的,这样你就可以用快捷键操作ranger了。
4.取消关机
无论是在命令行还是图形用户界面关机后,才发现自己不是真的想要关机。
shutdown -c需要注意的是,如果关机已经开始则有可能来不及停止关机。
以下是另一个可以尝试命令:
pkill shutdown
5.杀死挂起进程的简单方法
想象一下,你正在运行的应用程序不明原因的僵死了。
你可以使用‘ps -ef’来找到该进程后杀掉或者使用‘htop’。
有一个更快、更容易的命令叫做xkill。
简单的在终端中输入以下命令并在窗口中点击你想杀死的应用程序。
xkill那如果整个系统挂掉了怎么办呢?
按住键盘上的‘alt’和‘sysrq’不放,然后慢慢输入以下键:
REISUB
这样不按电源键你的计算机也能重启了。
6.命令行日常系快捷键
如下的快捷方式非常有用,能够极大的提升你的工作效率:
CTRL + U -剪切光标前的内容
CTRL + K -剪切光标至行末的内容
CTRL + Y -粘贴
CTRL + E -移动光标到行末
CTRL + A -移动光标到行首
ALT + F -跳向下一个空格
ALT + B -跳回上一个空格
ALT + Backspace -删除前一个单词
CTRL + W -剪切光标后一个单词
Shift + Insert -向终端内粘贴文本
那么为了让上述内容更易理解来看下面的这行命令。
sudo apt-get intall programname如你所见,命令中存在拼写错误,为了正常执行需要把“intall”替换成“install”。
想象现在光标正在行末,我们有很多的方法将她退回单词install并替换它。
我可以按两次ALT+B这样光标就会在如下的位置(这里用指代光标的位置)。
sudo apt-get^intall programname现在你可以按两下方向键并将“s”插入到install中去了。
如果你想将浏览器中的文本复制到终端,可以使用快捷键"shift + insert"。
浏览量:3
下载量:0
时间:
作为Linux终端的初学者,要学习的知识有很多,除了基本的命令使用外,还需要掌握一些小技巧,下面读文网小编就给大家介绍下Linux终端初学者必备的小技巧,希望对你有所帮助。
使用Linux终端不仅仅是只输入命令。学习这些基本的技巧,你就会逐渐掌握Bash shell,这个在大多数Linux发行版上默认使用的终端工具。
这篇文章是写给缺乏经验的新手的,我相信大多数高级用户已经知道了所有的这些技巧。但是,你仍然可以看看,也许能学到你一直以来都忽略了的东西。
你同样可以用Bash运行两个命令,一个接着一个。第二个命令只有当第一个命令成功运行完毕后才会运行。要想做到这样,把两个命令在同一行中用”&&”分隔即可。
比如,”sleep”命令会以秒为单位接受一个参数,然后倒计时,允许结束。单独来用的话,该命令没有任何用处,但是你可以把它作为运行下一个程序之前的延时。下面的命令会停5秒然后运行gnome的截屏工具:
sleep 5 && gnome-screenshot
上面就是Linux终端用户必备技巧的介绍了,作为刚刚入门的初学者而言,掌握一些小技巧能够更方便的使用Linux终端,掌握Bash shell,你记住了吗?
浏览量:3
下载量:0
时间:
Linux系统下的默认路径通常都比较长,看起来十分不方便,那么有什么方法能够修改Linux默认路径提示的长度呢?下面随读文网小编一起来学习下Linux下如何修改终端提示符路径长度。
基本上Linux系统下默认的路径提示为完整的路径,虽然是完整的路径但是真的很长,看上去很不方便,是指有时候可能会占全部的宽度,看上去让人眼花缭乱,就像下面的例子:
linuxidc@Ubuntu:~/trunk-new/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/linux-3.10.17/net/netfilter/commercials$
基本占用终端80%的宽度,如果能改成只显示最后一个文件夹的名字就好了!
代码如下:
vim ~/.bashrc
搜索PS1
代码如下:
if [ “$color_prompt” = yes ]; then
PS1=‘${debian_chroot:+($debian_chroot)}[ 33[01;32m]u@h[ 33[00m]:[ 33[01;34m]W[ 33[00m]$ ’
else
PS1=‘${debian_chroot:+($debian_chroot)}u@h:W$ ’
fi
找到上面的文本,注意看PS1的环境变量的值,u是当前用户,h是主机名,w是显示完整路径,W是显示简单路径,把w变成W就可以了!
至于是if还是else生效,可以都试试,我的是else生效的。
修改后执行命令
代码如下:
$ source ~/.bashrc
就可以应用了!如下结果
linuxidc@ubuntu:commercials$
上面就是Linux下修改终端提示符路径长度的方法介绍了,如果你觉得Linux系统默认的路径过长的话,不妨试试上面介绍的方法,修改后的路径长度缩短了许多,也不影响使用。
浏览量:2
下载量:0
时间:
在Linux系统中,打开一个文件很简单,只要有启动图标就可以了,但是如果没有启动图标的话要如何在终端下打开文件呢?使用命令就能很好的解决这个问题,下面读文网小编教你利用命令在Linux终端打开文件的方法,一起来学习下吧。
在Linux环境下工作,大部分时间都是在与终端打交道,经常会遇到要查看某个文件,比如一个图片或者一个word文档(不能在终端中直接查看的)。这时通常的做法是切换到gui界面,到文件所在的目录,双击想打开的文件。另外一种方法是直接在shell中输入指定的程序打开文件,比如: evince xx.pdf 查看某个pdf文件。当然这样做的前提是你得记得住那些程序的名字,比如你能记得住用LibreOffice打开一个word文件的命令吗?反正我是记不住。
在图形界面中已经定义了很多默认的文件打开方式,比如你双击网页文件就会自动用默认的浏览器打开,双击一个图片就会用默认的图片浏览器打开,所以终端下也应该会有相应的机制。顺着这个思路去google了一下,就发现了xdg-open这个命令(兼容gnome和kde),这个命令会用图形界面中设置的文件默认打开方式一致(和直接双击打开文件的行为应该是一样的)。
利用这个命令,在终端 下打开文件就方便多了,比如用默认的pdf 阅读器打开一个pdf文件:
xdg-open xxx.pdf
还可以用图形下的文件管理器打开目录,比如打开用户主目录:
xdg-open ~
非常有用的一个工具!
具体操作如下:
xdg-open { file | URL }
xdg-open { --help | --manual | --version }
OK,现在是不是方便多了,通过快捷键Ctrl+Alt+T可以打开shell,F11可以全屏显示(Alt+F9最小化窗口,Alt+F10最大化/恢复窗口),再辅予xdg-open命令,极大减少了鼠标操作,也大大提升了效率。
附xdg-open manual部分信息:
xdg-open opens a file or URL in the user‘s preferred application. If a URL is provided the URL will be opened in the user’s preferred web browser. If a file is provided the file will be opened in the preferred application for files of that type. xdg-open supports file, ftp, http and https URLs.
xdg-open is for use inside a desktop session only. It is not recommended to use xdg-open as root.
上面就是在Linux终端打开文件的方法介绍了,使用该方法能够减少鼠标操作,文件在终端打开也方便了许多,是不是很简单?赶紧试试看吧。
浏览量:3
下载量:0
时间:
在Linux终端操作中,有时需要在多个终端上操作,而窗口间的切换需要浪费很多时间,那么有什么方法能够加快终端的操作效率呢?其实使用Tmux就能完美解决这个问题,下面读文网小编就给大家介绍下Linux使用Tmux提高终端操作效率的方法。
Tmux是我日常工作必要的工具之一。我可以借助Tmux构建出复杂的开发环境,同时还可以在一旁进行SSH远程连接。我可以开出很多窗口,将其拆分成很多面板,接管和分离会话等等。掌握了Tmux之后,你就可以扔掉鼠标了。
Tmux(“Terminal Multiplexer”的简称)可以让我们在单个屏幕的灵活布局下开出很多终端,我们就可以协作地使用它们。举个例子,在一个面板中,我们用Vim修改一些配置文件,在另一个面板,我们使用irssi聊天,而在其余的面板,可以跟踪一些日志。然后,我们还可以打开新的窗口来升级系统,再开一个新窗口来进行服务器的ssh连接。在这些窗口面板间浏览切换和创建它们一样简单。它的高度可配置和可定制的,让其成为你心中的延伸
在Linux/OSX下安装Tmux(CentOS下的安装详见系统之家CentOS安装Tmux软件的步骤)
你可以通过编译软件源或者通过系统包管理器的方式安装,我建议使用包管理器,这样比编译更快更简单
OSX:
# sudo brew install tmux
# sudo port install tmux
Debian/Ubuntu:
# sudo apt-get install tmux
RHEL/CentOS/Fedora(RHEL/CentOS 要求 EPEL repo):
$ sudo yum install tmux
Archlinux:
$ sudo pacman -S tmux
使用不同会话工作
使用Tmux的最好方式是使用会话的方式,这样你就可以以你想要的方式,将任务和应用组织到不同的会话中。如果你想改变一个会话,会话里面的任何工作都无须停止或者杀掉。让我们来看看这是怎么工作的。
让我们开始一个叫做“session”的会话,并且运行top命令
$ tmux new-s new session
$ top
然后输入CTRL-b d从此会话脱离,想要重新连接此会话,需输入:
$ tmux attach-session -t session
之后你会看到top操作仍然运行在重新连接的会话上。
一些管理sessions的命令:
$ tmux list-session
$ tmux new-session 《会话名》
$ tmux attach-session -t 《会话名》
$ tmux rename-session -t 《会话名》
$ tmux choose-session -t 《会话名》
$ tmux kill-session -t 《会话名》
使用不同的窗口工作
很多情况下,你需要在一个会话中运行多个命令,执行多个任务。我们可以在一个会话的多个窗口里组织他们。在现代的GUI终端(比如 iTerm或者Konsole),一个窗口被视为一个标签。在会话中配置了我们默认的环境之后,我们就能够在一个会话中创建许多我们需要的窗口。窗口就像运行在会话中的应用程序,当我们脱离当前会话的时候,它仍在持续,让我们来看一个例子:
$ tmux new-s my_session
按下CTRL-b c
这将会创建一个新的窗口,然后屏幕的光标移向它。现在你就可以在新窗口下运行你的新应用。你可以修改你当前窗口的名字。在目前的例子里,我运行的top程序,所以top就是该窗口的名字
如果你想要重命名,只需要按下:
CTRL-b
状态条将会改变,这时你将可以重命名当前的窗口
一旦在一个会话中创建多个窗口,我们需要在这些窗口间移动的办法。窗口像数组一样组织在一起,从0开始用数字标记每个窗口,想要快速跳转到其余窗口:
CTRL-b 《窗口号》
如果我们给窗口起了名字,我们可以使用下面的命令找到它们:
CTRL-b f
也可以列出所有窗口:
CTRL-b w
按照顺序切换到不同的窗口:
CTRL-b n(到达下一个窗口) CTRL-b p(到达上一个窗口)
想要离开一个窗口,可以输入 exit 或者:
CTRL-b &
关闭窗口之前,你需要确认一下。
把窗口分成许多面板
有时候你在编辑器工作的同时,需要查看日志文件。在编辑的同时追踪日志真的很有帮助。Tmux可以让我们把窗口分成许多面板。举个例子,我们可以创建一个控制台监测我们的服务器,同时用编辑器构造复杂的开发环境,这样就能同时进行编译和调试了。
让我们创建另一个Tmux会话,让其以面板的方式工作。首先,如果我们在某个会话中,那就从Tmux会话中脱离出来:
CTRL-b d
开始一个叫做“panes”的新会话:
$ tmux new -s panes
你可以水平或者竖直分割一个窗口,水平分割输入:
CRTL-b “
现在你就拥有两个面板,现在我们竖直分割:
CRTL-b %
又增加了两个:
在他们之间移动:
CTRL-b 《光标键》
上面就是Linux使用Tmux提高终端操作效率的方法介绍了,可以看出,使用Tmux后能够有效的提高效率,和鼠标一样方便,快速的进行终端窗口间的编译切换。
浏览量:2
下载量:0
时间:
网上流传着各种版本的Linux系统,我们为何不可以运用脚本制作LiveCD;LiveCD是一种储存在可开机自启动光盘中,不需安装就可以执行的操作系统(通常亦包括一些其他软件)。退出 LiveCD 并重新开机后,电脑就可以恢复到原本的操作系统。下面读文网小编就教大家LINUX终端定制的方法。
1下载内核补丁包livecd.tar,首先已经安装好的系统环境中,将livecd.tar包解压,
可得到三个文件:
kernel-live-2.6.24.4-4_1.i686
kernel-live-devel-2.6.24.3-3.i686
linux-live-6.2.3--for-redflag.tar
2 解压后有两个内核文件和一个压缩文件,再将这个压缩文件解压,
解压后便可以看到运行脚本,如图:
3 安装两个内核文件:
rpm –ivh k*.rpm --nodeps --force
用安装的kernel启动系统reboot选择新内核来引导系统
在boot目录找到内核文件并做一个新的连接,命名为 vmlinuz
在grub.conf里新建一个title
查看aufs文件和squashfs文件
自己可以定制一些软件,比如Windows模拟器(Wine),linux版QQ等
Ö 软件包: wine-1.0.1-1mdv2008.1.i586.rpm
安装步骤:
Rpm –ivh wine-1.0.1-1mdv2008.1.i586.rpm
软件包: wine-1.0.1-1mdv2008.1.i586.rpm
安装步骤:
Rpm –ivh wine-1.0.1-1mdv2008.1.i586.rpm
准备工作已做好,运行build脚本./build 并命名、指定路径
命名:test-livecd
使用的内核路径必须指向新内核,如图:
运行结束,生成ISO文件
livecd系统测试
测试结果:可以正常启动操作系统
定制的linux就算是做好了,ISO文件就可以随便使用了!!!
浏览量:2
下载量:0
时间:
利用串口终端作为Linux控制台,可以免去额外的键盘,显示卡和显示器,同时可将Linux主机作为一个任意用途的嵌入式黑匣。那么LINUX控制台怎么定向到串口终端?下面跟着读文网小编一起来了解一下吧。
目的: 台机已经装好Linux,显示器有问题,平时一般都SSH控制,当Linux网络挂的时候,想通过串口来管理。
硬件:台机自带两个串口(上面的是COM1)[under Windows] or ttyS0[under Linux)),笔记本T61p没有串口,买了个USB转串口(具体见下图)。同时需要串口交叉线一根(NULL modem Cable),母对母(公的是针),都是凹口那种。
目标机器:安装的CentOS 5.2 Linux 内核2.6.18-92.1.22.el5和2.6.18-92.1.22.el5xen
客户端: Windows XP SP3 IBM OEM. 安装USB转串口驱动。
需要把输出定向到串口,一般有下面几处:
BIOS中的设置
GRUB设置
/etc/inittab 设置
/etc/securetty 设置
BIOS中的设置
BIOS设置的作用我没尝试过,如果是可以连BIOS设置都可以定向到串口,那个强大了。也不知道如何去掉机器需要连键盘的限制。没拿出显示器所以没看我台机的BIOS,不过这个功能一般只有服务器级别的机器有。【注1】台机一般没有串口重定向功能。
GRUB设置
这里的配置是为了把grub菜单定向到串口,这样你就可以在串口操作grub,选择启动项,使用single mode等等。
同时也要给kernel参数加上console选项。
[root@CentOS5 ~]# cat /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/vg00/lv_root
# initrd /initrd-version.img
#boot=/dev/hdb1
serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
default=2
timeout=20
#splashimage=(hd0,0)/grub/splash.xpm.gz =>这些在console下会工作不正常,注释掉。
#hiddenmenu
title CentOS (2.6.18-92.1.22.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root rhgb quiet
initrd /initrd-2.6.18-92.1.22.el5.img
title CentOS Serial[ttyS0] - Console (2.6.18-92.1.22.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root console=ttyS0,9600 console=tty0
initrd /initrd-2.6.18-92.1.22.el5.img
title CentOS Console - serial[ttyS0] (2.6.18-92.1.22.el5) [get more output in serial console]
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root console=tty0 console=ttyS0,9600
initrd /initrd-2.6.18-92.1.22.el5.img
title CentOS Xen (2.6.18-92.1.22.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-92.1.22.el5
module /vmlinuz-2.6.18-92.1.22.el5xen ro root=/dev/vg00/lv_root rhgb quiet xencons=off
module /initrd-2.6.18-92.1.22.el5xen.img
title CentOS Xen Serial[ttyS0] - Console (2.6.18-92.1.22.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-92.1.22.el5
module /vmlinuz-2.6.18-92.1.22.el5xen ro root=/dev/vg00/lv_root xencons=off console=ttyS0,9600 console=tty0
module /initrd-2.6.18-92.1.22.el5xen.img
title CentOS Xen Console - serial[ttyS0] (2.6.18-92.1.22.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-92.1.22.el5
module /vmlinuz-2.6.18-92.1.22.el5xen ro root=/dev/vg00/lv_root xencons=off console=tty0 console=ttyS0,9600
module /initrd-2.6.18-92.1.22.el5xen.img
title Other
rootnoverify (hd0,0)
chainloader +1
后面的console有顺序关系,详见下文【注2】,我常用串口所以console=tty0 console=ttyS0,9600这个顺序的输出信息比较多。
因为我的机器有xen的内核,xen默认情况下会把串口做为xencons,所以这里设置xencons=off.
When multiple consoles are listed output is sent to all consoles and input is taken from the last listed console. The last console is the one Linux uses as the /dev/consoledevice.
/etc/inittab 设置
系统系统后,需要在串口上监听请求,所以要有个类似服务器的程序(agetty, mgetty etc)。
/etc/inittab中添加
s0:2345:respawn:/sbin/agetty -L -f /etc/issue.serial 9600 ttyS0 vt100
#s1:2345:respawn:/sbin/agetty -L -f /etc/issue.serial 9600 ttyS1 vt100
#S0:2345:respawn:/sbin/mgetty -r -x 9 ttyS0 ==> mgetty 用来调试比较好,log也丰富。
What is a getty?
A getty is is a program that opens a tty port, prompts for a login name, and runs the /bin/login command. It is normally invoked by init.
所以其他程序就不能再来占用ttyS0了,串口是独占模式的吧。
vt100:
vt100 is the terminal emulation. You can use others, but VT100 is the most common or "standard". Another widely used termial type is VT102.
OK都可以了,可以重启server了。这里如果想测试下串口线,推荐先在Linux启动下mgetty,因为他的debug信息和log比较丰富,适合排错和测试。
#mgetty –r –x 9 ttyS0
Log在/var/log/mgetty*中。
/etc/securetty设置
因为一般我们都是使用root登陆串口来维护,所以需要设置root可以在COM1和COM2登陆。
在/etc/securetty中添加:
ttyS0
ttyS1
Windows客户端连接可以用超级终端或者Putty。
注意启动server的时候,putty就应该去连接串口了,这样才可以看到所有信息。
本来正常情况下,接下去kernel的boot信息应该也会打到串口的。但是没有,确定是Xen内核的关系。
系统启动起来后,过了init,agetty就起来了,这个时候就可以通过串口登陆了。(在/etc/securetty中需要添加ttyS0)
看过“ LINUX控制台怎么定向到串口终端 ”
浏览量:2
下载量:0
时间:
透明模式的特点就是对用户是透明的(Transparent),即用户意识不到防火墙的存在。那么Linux怎样设置透明代理?今天读文网小编与大家分享下Linux设置透明代理的具体操作步骤,有需要的朋友不妨了解下。
1.什么是透明代理?
如果你问:我如何才能使得用户的浏览器不需要任何代理设置就能使用我的Squid cache代理服务器上网?此时你就需要使用透明代理。透明代理让你的客户端不需设置任何代理,当包经过透时代理服务器时实际上被重定向到squid代理服务器的代理端口(如8080),即由本地代理服务器向外请求所需数据然后拷贝给客户端。
2.我需要什么样的环境才能实现透明代理?
a.客户端的windows PC的网关必须设成Squid代理服务器,因为既然你的browser中没有任何代理设置,你要访问某个站点时,包必须经经过squid代理服务器才能被重定向,故这是最基本的条件。
b.客户端必须正确设置DNS服务器。因为既然现在不用设置任何代理。则DNS必须由browser来解析,也就是要由客户端的PC中TCP/IP中设置的DNS服务器来正确解析出某个站点的IP地址来。
c.服务器端可以安装squid代理服务器,1.x or 2.x版本均可。
3.配置Squid代理,启动透明代理功能
Squid-2
加下面的行到你的/etc/squid/squid.conf中
http_port 8080
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Squid-1.1
加下面的行到/etc/squid.conf
http_port 8080
httpd_accel virtual 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
4. 重启动squid. 用下面的命令:
#/usr/sbin/squid -k reconfigure
如提示内核不支持透明代理。则你需要重新编译内核,enable 透明代理的支持。
下面是你需要启动的内核项目:
[*] Network firewalls
[ ] Socket Filtering
[*] Unix domain sockets
[*] TCP/IP networking
[ ] IP: multicasting
[ ] IP: advanced router
[ ] IP: kernel level autoconfiguration
[*] IP: firewalling
[ ] IP: firewall packet netlink device
[*] IP: always defragment (required for masquerading)
[*] IP: transparent proxy support
5. 下面的命令针对Linux 2.2.x内核:
# Accept all on lookback
/sbin/ipchains -A input -j ACCEPT -i lo
#Accept my own IP, to prevent loops (repeat for each interface/alias)
/sbin/ipchains -A input -j ACCEPT -p tcp -d 192.168.11.1/32 80
#Send all traffic destined to port 80 to Squid on port 80
/sbin/ipchains -A input -j REDIRECT 8080 -p tcp -s 192.168.11.0/24 -d 0/0 80
下面的命令针对Linux 2.0.x内核:
# Accept all on loopback
ipfwadm -I -a accept -W lo
# Accept my own IP, to prevent loops (repeat for each interface/alias)
ipfwadm -I -a accept -P tcp -D 192.168.11.1/32 80
# Send all traffic destined to port 80 to Squid on port 3128
ipfwadm -I -a accept -P tcp -S 192.168.11.0/24 -D 0/0 80 -r 8080
6.应注意的问题:
a. 这种透明代理只能针对http协议,不能针对FTP协议
b. PC的默认网关应设成squid 代理服务器
c. 防火墙重定向规则在其它的input规则的前面,注意顺序。
如:
/etc/rc.d/rc.firewall:
#!/bin/sh
# rc.firewall Linux kernel firewalling rules
FW=/sbin/ipfwadm
# Flush rules, for testing purposes
for i in I O F # A # If we enabled accounting too
do
${FW} -$i -f
done
# Default policies:
${FW} -I -p rej # Incoming policy: reject (quick error)
${FW} -O -p acc # Output policy: accept
${FW} -F -p den # Forwarding policy: deny
# Input Rules:
# Loopback-interface (local access, eg, to local nameserver):
${FW} -I -a acc -S localhost/32 -D localhost/32
# Local Ethernet-interface:
# Redirect to Squid proxy server:
${FW} -I -a acc -P tcp -D default/0 80 -r 8080
# Accept packets from local network:
${FW} -I -a acc -P all -S localnet/8 -D default/0 -W eth0
# Only required for other types of traffic (FTP, Telnet):
# Forward localnet with masquerading (udp and tcp, no icmp!):
${FW} -F -a m -P tcp -S localnet/8 -D default/0
${FW} -F -a m -P udp -S localnet/8 -D default/0
Here all traffic from the local LAN with any destination gets redirected to the
local port 8080. Rules can be viewed like this:
IP firewall input rules, default policy: reject
type prot source destination ports
acc all 127.0.0.1 127.0.0.1 n/a
acc/r tcp 10.0.0.0/8 0.0.0.0/0 * -> 80 => 8080
acc all 10.0.0.0/8 0.0.0.0/0 n/a
acc tcp 0.0.0.0/0 0.0.0.0/0 * -> *
看过“Linux怎样设置透明代理”
浏览量:3
下载量:0
时间:
nux系统磁盘提示满了,可是磁盘内文件加起来的大小和被占用的大小不一致,这就是磁盘丢失的情况,那么Linux系统怎么找回丢失磁盘空间?下面读文网小编就给大家介绍下Linux找回丢失磁盘空间的方法。
收到一个磁盘告警,说某某分区已经满了,然后登录服务器 df 一看,发现磁盘确实快满了,然后你就想找到具体是哪个目录满了,于是 du -s * 一看,却发现所有子目录的大小总和却和df显示的总已使用磁盘空间对不上,有时候甚至还相差很多,于是就纳闷了:我的磁盘空间去哪了呢?
这里就列3种情况:
隐藏文件
linux系统把文件名以。(点号)开头的文件视为隐藏文件,而类似bash里*这样的操作符是不会匹配隐藏文件的,所以如果根目录下有个较大的隐藏文件的话,是不会被du -sh * 统计到的,解决办法就是: du -sh 。[^.]* 。
非空目录被mount
一般挂载其他分区的时候都是建议mount到一个空目录的,那么如果mount到一个非空的目录,情况会怎么样呢?比如/mnt目录本来里面是有文件 的,然后执行了sudo mount /dev/sda6 /mnt。其实这个mount命令完全能正常执行,被mount的分区也能正常访问,只是原先在/mnt里的文件,现在已经访问不到了,包括du也看不到 大小了,但是磁盘空间却还是被占着,因为如果你 umount /mnt 以后,原来的文件都还会回来的。
空洞文件
一个文件的大小和所占磁盘空间也不一定完全一致,比如某个程序一直打开着一个叫log的文件在写,而中间有人用 》 log 命令清除了log的内容,就会产生这样的文件。
大多数情况下来看,以上这三种垃圾,电脑中都会隐藏,那些电脑磁盘不大的朋友们可以勤加清理,可以释放一些空间以被储存其他重要的文件。一般这三种方法清理之后,电脑中的垃圾文件就被清理的差不多了,所以是个还蛮有效的方法呢,试试吧!
看过“Linux系统怎么找回丢失磁盘空间”
浏览量:2
下载量:0
时间:
在Linux的系统中经常碰到字符集导致的错误,那么Linux系统怎么配置多语言环境呢?就让读文网小编来告诉大家Linux系统配置多语言环境的方法吧,希望对大家有所帮助。
修改 /etc/sysconfig/i18n 文件,如
LANG=“en_US.UTF-8”,xwindow会显示英文界面,
LANG=“zh_CN.GB18030”,xwindow会显示中文界面。
还有一种方法 cp /etc/sysconfig/i18n $HOME/.i18n修改 $HOME/.i18n 文件,如
LANG=“en_US.UTF-8”,xwindow会显示英文界面,
LANG=“zh_CN.GB18030”,xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户。
修改后的/etc/sysconfig/i18n 文件为:
代码如下:
LANG=“en_US.UTF-8”
SUPPORTED=“zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en”
SYSFONT=“latarcyrheb-sun16”
LC_ALL=“en_US.UTF-8”
export LC_ALL
设置完毕后重启或者用rc.local使生效
或修改登录用户的.bash_profile文件加入
代码如下:
export LANG=zh_CN.GB18030
export LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
Ubuntu
比如将Ubuntu 系统语言环境改为英文的en_US.UTF-8:
查看当前系统语言环境,编辑配置文件,将zh_US.UTF-8改为en_US.UTF-8,zh改为en
代码如下:
sudo nano /etc/default/locale
LANG=“en_US.UTF-8”
LANGUAGE=“en_US:en”
CentOS:
方法一、使用光盘或者相当于光盘的媒介
代码如下:
# mount /dev/cdrom /mnt/cdrom
# cd /mnt/cdrom
# rpm -ivh fonts-chinese
方法二、代码如下:
# yum install fonts-chinese
安装好后,设置一下系统的语言,用桌面方式或字符方式均可,修改后包括如下内容即可:
代码如下:
vim /etc/sysconfig/i18n
代码如下:
LANG=“zh_CN.GB2312”
LANGUAGE=“zh_CN.GB18030:zh_CN.GB2312:zh_CN”
SUPPORTED=“zh_CN.GB18030:zh_CN.GB2312:zh_CN.UTF-8:zh:en_US.UTF-8:en_US:en:ja_JP.UTF-8:ja_JP:ja”
SYSFONT=“lat0-sun16”
SYSFONTACM=“8859-15”
上面就是介绍了如何为Linux系统配置多语言环境的基本方法 ,如果你还在为不知如何给Linux系统配置多语言环境而烦恼的话,你们不凡可以按照上面所说的方法去操作,一切已实践行动为主,那就赶紧选择一个你自己喜欢的方法去操作吧!
看过“Linux系统怎么配置多语言环境”
浏览量:4
下载量:0
时间:
Linux系统进程在一定条件下可以对任何文件、数据库等进行操作。如果此进程被不法分子用作其他不法用途,将会给系统带来重大危害。那么下面跟着读文网小编来一起了解下Linux系统怎么设置安全管理吧。
1.引导程序安全
Linux系统的root密码是很容易破解的,当然前提是你没有设置引导程序密码,如GRUB或LILO,为了防止通过引导程序破译root密码,强烈建议设置GRUB或LILO的引导密码,可以编辑其配置文件/etc/grub.conf或/etc/lilo.conf,设置password参数。
2.不安全权限设置
大家常见的Linux下文件权限是r w x,其实还有一种权限叫s,如果给某个文件赋予的s权限,那么这个文件在执行的时候就会拥有相应宿主用户或宿主组用户的权限,例如:
#chmod u+s testfile
#ls -la testfile
rwsr----- root root 10 testfile
这样,当这个文件被其它用户执行的时候,此用户就具有了此文件宿主用户root的对testfile的执行权限。类似,当文件的宿主组具有s权限后,执行此文件的用户就具有了此文件宿主组用户对此文件的权限,这是相当危险的。
大家可以试想下,如果命令chmod的文件被赋予了s权限,那么其它用户还有什么事情是不能做的呢?那它就可以更改任何文件的权限了,当然,s权限需要和x权限结合使用,没有x权限的s权限是没有任何意义的。
3.自动注销
当某个用户使用服务器后忘记注销,也是很危险的事情,此时,管理员可以设置/etc/profile文件的timeout参数,当用户一段时间不做任何操作时,系统自动注销此用户。
4. 设置口令复杂度
为了防止系统用户口令过于简单而被破译,可以编辑/etc/login.defs文件,设置系统用户口令复杂度,例如口令最长,最短,过期时间等。
5.禁止不必要用户登陆系统
为了防止其它非系统用户登陆系统,可以在添加用户时,赋予此用户不存在的主目录和不存在的shell环境,当然,最好还更改/etc/passwd和/etc/shadow两个文件的访问权限,使之后root用户可以访问。
Linux系统特点就是因为它是一款免费传播类操作系统,使其具有服务器应有的天然特性,但也正是因为有这些特性,所以在管理不当的情况下,也会造成很严重的安全性问题,所以我们的好好使用它,保护它!
看过“Linux系统怎么设置安全管理”
浏览量:4
下载量:0
时间:
如果没有设置DNS服务器的话,那么系统就不能正常上网了。,那么Linux系统怎么查看和修改DNS配置呢?下面读文网小编就为大家带来了Linux系统查看和修改DNS配置的方法。
1:查看/etc/resolv.con文件
[root@localhost ~]# cat /etc/resolv.conf
nameserver 192.168.xxx.xxx
#search localdomain
[root@localhost ~]#
2:使用nslookup命令查看DNS信息
[root@localhost ~]# nslookup 127.0.0.1 | grep Server
Server: 192.168.xxx.xxx
[root@localhost ~]#
3:使用dig命令来查看DNS信息
[root@localhost ~]# dig
; 《《》》 DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 《《》》
;; global options: printcmd
;; Got answer:
;; -》》HEADER《《- opcode: QUERY, status: NOERROR, id: 36888
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 3
;; QUESTION SECTION:
;。 IN NS
;; ANSWER SECTION:
。 86163 IN NS m.root-servers.net.
。 86163 IN NS a.root-servers.net.
。 86163 IN NS j.root-servers.net.
。 86163 IN NS l.root-servers.net.
。 86163 IN NS e.root-servers.net.
。 86163 IN NS d.root-servers.net.
。 86163 IN NS k.root-servers.net.
。 86163 IN NS f.root-servers.net.
。 86163 IN NS h.root-servers.net.
。 86163 IN NS c.root-servers.net.
。 86163 IN NS g.root-servers.net.
。 86163 IN NS b.root-servers.net.
。 86163 IN NS i.root-servers.net.
;; ADDITIONAL SECTION:
a.root-servers.net. 3599 IN A 112.4.20.71
b.root-servers.net. 86163 IN A 192.228.79.201
i.root-servers.net. 86173 IN A 192.36.148.17
;; Query time: 8 msec
;; SERVER: 192.168.xxx.xxx#53(192.168.xxx.xxx)
;; WHEN: Sat Apr 16 07:34:37 2016
;; MSG SIZE rcvd: 289
[root@localhost ~]# dig | grep SERVER: | awk -F# ‘{ print $1 }’ | awk -F: ‘{ print $2 }’
192.168.xxx.xxx
4:其它一些方法查看DNS信息
在网上看到还有一些其他方法,查看服务器的DNS配置信息,如下所示,不过这些方法,由于环境限制,我没有验证过,仅供参考。
nm-tool | grep DNS
nmcli dev list iface eth0 | grep IP4
浏览量:3
下载量:0
时间:
当要传送的文件较大,过程中如果网络中断了,就比较悲剧了。那么Linux下怎么实现断点续传呢?读文网小编分享了Linux下实现断点续传的方法,希望对大家有所帮助。
断点续传的原理
其实断点续传的原理很简单,就是在 Http 的请求上和一般的下载有所不同而已。
打个比方,浏览器请求服务器上的一个文时,所发出的请求如下:
假设服务器域名为 wwww.sjtu.edu.cn,文件名为 down.zip。
GET /down.zip HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-
excel, application/msword, application/vnd.ms-powerpoint, */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Connection: Keep-Alive
服务器收到请求后,按要求寻找请求的文件,提取文件的信息,然后返回给浏览器,返回信息如下:
200
Content-Length=106786028
Accept-Ranges=bytes
Date=Mon, 30 Apr 2001 12:56:11 GMT
ETag=W/“02ca57e173c11:95b”
Content-Type=application/octet-stream
Server=Microsoft-IIS/5.0
Last-Modified=Mon, 30 Apr 2001 12:56:11 GMT
所谓断点续传,也就是要从文件已经下载的地方开始继续下载。所以在客户端浏览器传给 Web 服务器的时候要多加一条信息 -- 从哪里开始。
下面是用自己编的一个“浏览器”来传递请求信息给 Web 服务器,要求从 2000070 字节开始。
GET /down.zip HTTP/1.0
User-Agent: NetFox
RANGE: bytes=2000070-
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
仔细看一下就会发现多了一行 RANGE: bytes=2000070-
这一行的意思就是告诉服务器 down.zip 这个文件从 2000070 字节开始传,前面的字节不用传了。
服务器收到这个请求以后,返回的信息如下:
206
Content-Length=106786028
Content-Range=bytes 2000070-106786027/106786028
Date=Mon, 30 Apr 2001 12:55:20 GMT
ETag=W/“02ca57e173c11:95b”
Content-Type=application/octet-stream
Server=Microsoft-IIS/5.0
Last-Modified=Mon, 30 Apr 2001 12:55:20 GMT
和前面服务器返回的信息比较一下,就会发现增加了一行:
Content-Range=bytes 2000070-106786027/106786028
返回的代码也改为 206 了,而不再是 200 了。
知道了以上原理,就可以进行断点续传的编程了。
Java 实现断点续传的关键几点
(1) 用什么方法实现提交 RANGE: bytes=2000070-。
当然用最原始的 Socket 是肯定能完成的,不过那样太费事了,其实 Java 的 net 包中提供了这种功能。代码如下:
URL url = new URL(“http://www.sjtu.edu.cn/down.zip”);
HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection();
// 设置 User-Agent
httpConnection.setRequestProperty(“User-Agent”,“NetFox”);
// 设置断点续传的开始位置
httpConnection.setRequestProperty(“RANGE”,“bytes=2000070”);
// 获得输入流
InputStream input = httpConnection.getInputStream();
从输入流中取出的字节流就是 down.zip 文件从 2000070 开始的字节流。 大家看,其实断点续传用 Java 实现起来还是很简单的吧。 接下来要做的事就是怎么保存获得的流到文件中去了。
保存文件采用的方法。
我采用的是 IO 包中的 RandAccessFile 类。
操作相当简单,假设从 2000070 处开始保存文件,代码如下:
RandomAccess oSavedFile = new RandomAccessFile(“down.zip”,“rw”);
long nPos = 2000070;
// 定位文件指针到 nPos 位置
oSavedFile.seek(nPos);
byte[] b = new byte[1024];
int nRead;
// 从输入流中读入字节流,然后写到文件中
while((nRead=input.read(b,0,1024)) 》 0)
{
oSavedFile.write(b,0,nRead);
}
以上就是断点续传的原理,知道这些原理,相信大家都能够进行编程了吧
看过“Linux下怎么实现断点续传”
浏览量:3
下载量:0
时间:
由于业务需要,要在单个物理网卡上建立多个虚拟网卡,那么Linux怎么增加虚拟网卡呢?读文网小编分享了Linux增加虚拟网卡的方法,希望对大家有所帮助。
创建tap
前两种方法都有一个特点,创建的网卡可有不同的ip地址,但是Mac地址相同。无法用来创建虚拟机。
添加虚拟网卡tap
tunctl -b
附上相关命令简介:
显示网桥信息
brctl show
添加网桥
brctl addbr virbr0
激活网桥
ip link set virbr0 up
添加虚拟网卡tap
tunctl -b
tap0 -------》 执行上面使命就会生成一个tap,后缀从0,1,2依次递增
激活创建的tap
ip link set tap0 up
将tap0虚拟网卡添加到指定网桥上。
brctl addif br0 tap0
给网桥配制ip地址
ifconfig virbr1 169.254.251.4 up
将virbr1网桥上绑定的网卡eth5解除
brctl delif virb1 eth5
给virbr1网桥添加网卡eth6
brctl addif virbr1 eth6
看过“Linux怎么增加虚拟网卡”
浏览量:3
下载量:0
时间:
你知道在幻灯片中要怎么设置透明色吗?下面读文网小编就为你介绍ppt2007怎么设置透明色的方法啦!
ppt2007设置透明色的方法:
一张已经设计好的PPT页面,我们这时需要一张配图。
我们要插入的配图如下,看上去似乎没有什么问题。
进行插入图片操作。
图片插入后,我们发现图片的背景是白色的,跟整个PPT页面非常不搭。注意:一般JPG扩展名的图片背景都默认是白色的。
我们要想办法消除图片的白色背景。双击图片,菜单栏上方出现“格式”栏。
然后,我们点击“重新找色”,弹出下拉,再选中“设置透明色”,点击它。
最后,我们将鼠标移动至图片的白色处,单击鼠标。我们发现白色已经自动去除。
按住F5,使PPT进入放映模式。完美和谐的效果呈现我们的眼前。
注意事项
对于PPT插入背景纯色的图片,以上经验将非常有效。
一般情况,只有PNG的图片可以设置背景为透明色,而像我们常见的JPG格式,如果看不到背景色,一般默认都是白色。
看了ppt2007怎么设置透明色
浏览量:3
下载量:0
时间:
wps演示是可以设置图片透明度的,你知道怎么做吗?下面读文网小编就为你介绍wpsppt怎么设置图片透明度的方法啦!
wpsppt设置图片透明度的方法:
第一步,插入一张图片。
第二步,切换顶部菜单至“开始”---->点击“形状“,选择与图片相同的矩形,然后框住整幅图,把原图完全覆盖掉,效果如图所示。
第三步,双击图片,弹出“设置对象格式”的窗口。把”线条“的”颜色“一栏设置为”无颜色线条“。
第四步,把“填充”的”颜色“一栏设置为”填充效果“,在弹出”填充效果“窗口里选择一开始插入的图片。完成后点击确定。
第五步,根据需要输入或拉至所需透明度。设置完成后点击确定。
这样就完成了!
附加:如果需要做渐变的透明效果,可在第四步后于同一窗口”填充效果“中的”渐变“一栏如图作设置。
浏览量:4
下载量:0
时间:
在使用Windows 7系统时,有时会遇到边框不透明,那么win7系统怎么设置窗口透明功能呢?今天读文网小编与大家分享下win7系统设置窗口透明功能的具体操作步骤,有需要的朋友不妨了解下。
第一步、您返回到win7电脑的桌面界面,然后在桌面随便找一块空白处,右键点击,选择个性化。
第二步、在弹出来的个性化窗口之中,您点击界面下方的窗口颜色选项。
第三步、之后就会出现窗口颜色和外观设置界面了,您看到界面中部有一个“启用透明效果”的选项,如果大家想要开启窗口透明效果功能的话,就直接在这里将该项勾选上,然后点击下方的保存修改按钮即可。
win7系统的透明窗口是很多人喜欢的功能,但是如果有一天你发现这效果没了,那么要怎么办呢?怎么样才能恢复win7操作系统的透明窗口?
1、会出现这个问题的主要原因之一你最近刚刚换了主题。
你刚刚换了一个不是Aero主题的主题,win7透明功能是Aero主题的附带效果,所以你换了其他主题肯定就没这个功能了。
2、如果是刚刚换完系统才导致没有win7透明功能的,正常情况下是因为显卡驱动不正确,可以卸了,用驱动精灵换过驱动。
3、排除了上面2个错误,那么很有可能是你不小心关闭了透明效果。
右键桌面空白处,选择个性化。然后再窗口颜色和外观,把“启用透明效果”的勾勾选上就行了。
看过“win7系统怎么设置窗口透明功能”
浏览量:3
下载量:0
时间: