linux问题解决方法

时间:2022-10-13 10:36:47

以下涉及转载的内容均已标明来源

---------------------------------------------------------------------------------------------

No. 1

安装./configure-> make->make install之后的默认安装路径是哪里??

./configure --help可以看到的。

SRC: http://bbs.chinaunix.net/thread-1927603-1-1.html

---------------------------------------------------------------------------------------------

No. 2

sed 输出文件前2W行到新文件

sed -n '1,20000 w newfile' oldfile

-n 选项的作用是不进行标准输出(不在屏幕显示oldfile文件的内容)

w 指存入新文件

---------------------------------------------------------------------------------------------

No. 3

more 显示文件前10行

more -10 filename

---------------------------------------------------------------------------------------------

No. 3

vi/vim 命令手册(初级篇) 

vim查看文件编码

:set fileencoding

---------------------------------------------------------------------------------------------

No. 4

Fedora CentOS 等Linux发行版SELinux安全设置问题重谈

//用此命令即可查询对应的SELinux开放情况
[root@rhel6 www]# getsebool -a |grep httpd

然后{httpd}
//特定的域写入权限
setsebool -P allow_httpd_anon_write=1
//或者
setsebool -P allow_httpd_sys_script_anon_write=1

等等

---------------------------------------------------------------------------------------------

No. 5

Ubuntu Server 12.04

Apache 2.2.22

禁止列出目录索引

SRC: Apache 禁止目录访问方法介绍

1. 管理员权限打开配置文件: /etc/apache2/conf.d/security

2. 修改<Directory></Directory>标示的内容如下

<Directory /var/www/*>   # 你要禁止显示的目录
    Options None # 如果是 Options Indexes 或者 Options Indexes FollowSymLinks 或者没有这一行,修改到或者添加这行到内容就行
    AllowOverride None # 不做修改
    Order Deny,Allow # 不做修改
    Allow from all # 这个地方我也理解到有点模糊,为什么是 Allow 而不是Deny,可是我不这么设置我的问题反而增多了
</Directory>
注:如果把 Allow from all 改成 Deny from all 的话,就会导致谁都不能访问网页

但按照如上设置成 Allow from all 就能保证所有人都能访问网页,而禁止列出目录列表

这个原因我也没搞懂,或许还有更多的设置项或其他设置文件有关

先这样吧,能解决目前我的需求,希望对你也有帮助,或者提供更好的意见,谢谢!

---------------------------------------------------------------------------------------------

No. 6

Ubuntu Server 12.04

source /etc/profile 或者 . /etc/profile

注意,上面两命令是等效的,为什么,我也不懂。注意 . 号后面有空格

远程操作服务器dock6

1)用putty通过ssh连接,dock6命令正常

2)远程桌面连接时,提示没有dock6这个命令,执行上述操作后问题解决

详情参考关于source

---------------------------------------------------------------------------------------------

No.7

对 Linux 文件名中有短横线“-”的操作

实验室师姐今天做dock,她的输入文件含有横线‘-’,导致输出的文件的文件名混乱 原来是linux系统中的‘-’不能随便拿来作为文件名 Linux 中"-"有特殊的含义,比如在命令的后面加"-"表示后面跟的是选项。但是如何新建带名字中有"-",下面介绍三种方法,比如要新建 文件 "-a":
1、cd .>-a
2、vi -- -a
3、echo"">-a
上面三种方法都可以在当前目录下新建一个"-a" 文件 ,当然还可以有别的方法新建,这里就不在介绍。如果要删除"-a"就比较麻烦了,如果你输入 rm -a,系统会提示你:
rm:无效选项 -- a
请尝试执行‘rm --help’来获取更多信息。
对于这样的 文件 可以有两种方法来删除,如下所示:
1、rm ./-a
2、rm -- -a
改名字也不用说了,基本上就是在 文件 名前面加"--"来表示转义字符就可以了!
建议:文件名中不要含有空格和横线‘-’,尽量使用下划线;或者采用很流行的骆驼命名法(如 fileOfMine.txt) ---------------------------------------------------------------------------------------------
No. 8 apache2 设置 .htaccess 进行访问认证 .htaccess 文件

认证、授权、访问控制

---------------------------------------------------------------------------------------------

No. 9

gedit 乱码

SRC: http://oucmsc.blog.163.com/blog/static/1263403282010559352767/

==============================================


《修改打开gedit的默认编码》。使用他的这种方法:


编辑.gconf–>apps–>gedit-2–>preferences–>encodings-


记入编码GB2312,但是部分文件还是乱码。同时在ubuntu中文论坛,找到gedit不能显示GB2312文件。在/etc/vim/vimrc文件中添加如下代码解决了乱码问题:


set &termencoding=&encoding


set fileencodings=utf-8,gbk,ucs-bom,cp936


试着在gedit中将GB2312改为GBK,忽然发现乱码问题解决建议你用utf8,这样会方便很多的。在读写gb2312编码的时候:set fileencoding=gbk就好了。gb2312的字符数太少了,慢慢地就会发现其局限。windows用的其实是gb18030,或许你可以考虑用这个。


==============================================

---------------------------------------------------------------------------------------------

No. 10

编码知识

SRC: http://initiative.yo2.cn/archives/624088

====

终于明白cp936是什么意思了
一直为GB2312,GBK,GB18030和CP936之间的关系头痛,今天得到Python群里一位高人指点,明白了cp936就是指系统里第936号编码格式,也就是GB2312。


可以看这个表:


936 gb2312 简体中文(GB2312)


至于Unicode, UCS2, UTF-8之间的种种关系还是比较困惑。特别是Unicode和Unicode对象、UTF-8编码的Unicode对象……非常郁闷


标签: coding, cp936, gb2312


这篇文章发布于 2008年02月22日,星期五,20:16,归类于 Windows。 您可以跟踪这篇文章的评论通过 RSS 2.0 feed。 您可以留下评论,或者从您的站点trackback。


9 条评论 发表在“终于明白cp936是什么意思了”上
听风 说到:
2008-02-23 @ 08:59
呵呵,长见识了


回复
killkeeper 说到:
2008-02-23 @ 17:24
UTF-8是Unicode的一个规范.


回复
electronixtar 说到:
2008-02-24 @ 20:02
@killkeeper
其实也不完全是这样的。Unicode的编码是唯一的,但是保存/传输方式分为UCS2, UTF8, UTF16等等


回复
Godmouse 说到:
2008-05-11 @ 12:58
关于Unicode, 推荐阅读《程序员趣味读物:谈谈Unicode编码》
http://www.pconline.com.cn/pcedu/empolder/gj/other/0505/616631_1.html


回复
xun 说到:
2008-08-01 @ 13:49
cp936=codepage936


回复
xun 说到:
2008-08-01 @ 14:20
另外,我个人看法是CP936是GBK
出处一个是微软自己对cp936的定义http://www.microsoft.com/globaldev/reference/WinCP.mspx
还有一个是现在解封的中文wiki
http://zh.wikipedia.org/wiki/GBK


回复
cyou 说到:
2009-03-11 @ 10:38
CP936是GBK,GB2312是GBK的真子集。
在WIndows的控制面板,选区域与语言选项->高级,Code Page里面就有
936对应GBK。


回复
electronixtar 说到:
2009-03-11 @ 12:12
恩。Windows里把cp936映射到GBK的。


回复
左飞怪怪 说到:
2011-09-30 @ 02:27
谢谢,里面很完整!
回复

===

---------------------------------------------------------------------------------------------

No. 11

SRC: http://www.lupaworld.com/article-218782-1.html


LAMP是Linux web服务器组合套装的缩写,分别是Apache+MySQL+PHP。此教程教大家如何在Ubuntu 12.04 LTS server 上安装Apache2服务器,包括PHP5(mod_php)+MySQL。
此教程中使用的相关IP等设置,在你的环境中要做相应修改。
1 我们使用root账户进行安装,首先切换到root账户,输入命令:
sudo su
2 安装 MySQL 5
输入命令:
apt-get install mysql-server mysql-client
安装过程中需要设置root账户密码,系统会作以下提示:
New password for the MySQL “root” user:Repeat password for the MySQL “root” user:
3 安装 Apache2
输入命令:
apt-get install apache2
在浏览器输入你服务器地址列入 http://192.168.0.100查看Apache2是否工作,如果显示(It works!),说明已经工作。
Apache 在 Ubuntu 中默认文档根目录为 /var/www,配置文件 /etc/apache2/apache2.conf,额外配置存储子目录 /etc/apache2 例如 /etc/apache2/mods-enabled (为 Apache 模块), /etc/apache2/sites-enabled (为虚拟主机 virtual hosts), 和 /etc/apache2/conf.d.
4 安装 PHP5
安装 PHP5 和 Apache PHP5 模块:
apt-get install php5 libapache2-mod-php5
然后重启apache:
/etc/init.d/apache2 restart
5 测试 PHP5 / 可以建立一个探针页面
vi /var/www/info.php
输入下面的内容:
<?php
phpinfo();
?>
然后打开浏览器访问 (http://192.168.0.100/info.php):
你可以看到一些已经支持的模块。
6 为PHP5取得 MySQL 支持
我们需要安装 php5-mysql,先查看一下php5的模块
apt-cache search php5
然后安装所需模块,例如下面的命令:
apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
重启 Apache2:
/etc/init.d/apache2 restart
然后刷次你 http://192.168.0.100/info.php 查看模块支持是不是已经增加了。
7 phpMyAdmin
安装phpmyadmin来管理mysql:
apt-get install phpmyadmin
Phpmyadmin访问地址:http://192.168.0.100/phpmyadmin/
参考文章:http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-12.04-lts-lamp

---------------------------------------------------------------------------------------------

No. 12

SRC: http://blog.sina.com.cn/s/blog_631539b20100uf5m.html


Ubuntu10 Apache2 php5 下修改网站的默认根目录
ubuntu10.10下修改apache2的默认文档目录 默认是在/var/www里面
$:sudo gedit /etc/apache2/sites-enabled/000-default


修改DocumentRoot /var/www为DocumentRoot /DirYouWant
改变目录的权限
$:sudo chmod -R 777 DirYouWant


重启apache2
$:sudo service apache2 restart

---------------------------------------------------------------------------------------------

No. 13

在终端中输入 sudo gconf-editor
依次开启/apps/gedit-2/preferences/encodings/双击右侧auto_detected,在弹出对话框中点选Add,添加Values值为GB2312,确定后选中,点选Up按钮将其移至第一位。
同样方法,对show_in_menu进行设置,并将GB2312置于首位。
不少人经过上述这个设置gedit就正常了,可是我的gedit还是在显示乱码。经过进一步探究,终于明白了是我的系统不支持GB18030内码。添加GB18030支持的方法如下
执行 sudo vim /var/lib/locales/supported.d/zh-hans
加入以下配置参数
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_HK.BIG5 BIG5
zh_TW.BIG5 BIG5
然后执行 sudo locale-gen
提示以下信息,成功了(可能比较慢,耐心等待)
zh_CN.GB18030… done
zh_CN.GBK… done
……
然后再次打开gedit,终于解决了。
我的问题依然没解决

---------------------------------------------------------------------------------------------

ubuntu常用的磁盘空间管理工具
SRC: http://blog.sina.com.cn/s/blog_ae3f32690101902d.html
下面给出了部分磁盘空间管理的常用工具:
df:查询文件系统的可用或已用存储空间及文件信息节点数量。
du:查询指定(或当前—)目录中每个文件或目录占用的磁盘空间。
find -size:搜索指定目录中指定大小的文件。
ls -s:以1KB数据块为单位,显示文件的大小。
cpio:用于创建、转存或恢复cpio档案文件,实现文件或文件系统的备份与恢复,也可用于实现整体目录层次结构的复制。
tar:用于创建、转存或恢复tar档案文件,实现文件或文件系统的备份与恢复。
dd:用于实现原始数据复制。可以复制文件甚至文件系统(即整个磁盘分区)。

---------------------------------------------------------------------------------------------

No. 13

OS: Ubuntu server, 12.04 LTS

问题:Ubuntu 用户无法登录。开机启动到登录界面,其中的一个用户A(本机系统有A,B,C,D等多个用户),输入正确的密码,点击登录后,画面闪动几下又回到登录界面

原因分析:简而言之,用户 A 的 X 进程锁没有正常清除

解决方法:

1. 按Alt+Ctrl+F1,进入tty1,输入A的用户名和密码登入命令行界面,然后执行以下命令

2. 切换到用户目录(比如用户 A 的目录名为 A)

cd /home/A

3. 查看目录中的所有文件

dir -a

(找到是否有文件 .Xauthority,注意是个 . 文件)

4. 备份这个文件

mv .Xauthority .Xauthority_bak

(如果提示无权操作之类的错误,执行命令 sudo mv .Xauthority .Xauthority_bak,然后输入密码完成修改)

5. 退出账户

logout

6. 按Alt+Ctrl+F7切换到图形登录界面,选择用户A,输入密码,正常登入

(登录后系统会重新生成文件 .Xauthority,现在,你可以选择删除步骤4中的备份文件)


参考1,http://blog.sina.com.cn/s/blog_4ded33730101ixpr.html
参考2,http://zhidao.baidu.com/link?url=jUnlBifzE7XZNf4petw4lIqNer-BSfQwFcdIquy5hKtYTyKApiQLRX8ZdXQLaB8PCTizFbrcNUwnPJmeaqAhqK

---------------------------------------------------------------------------------------------

No. 14

xrdp_mm_process_login_response: login failed

原因及详解见:参考资料

OS: Ubuntu Server 12.04 LTS

操作简述

1.  切换到tmp目录:$ cd /tmp

  linux问题解决方法linux问题解决方法

2. 查看进程锁文件,找到对应用于的进程锁文件(图中红框处)

  linux问题解决方法linux问题解决方法

3. 删除进程锁(需要root权限): sudo rm .X20-lock

4. 重启xrdp: service xrdp restart

---------------------------------------------------------------------------------------------

No. 15

OS: Ubuntu 12.04 LTS

Perl Version: 5.14

问题,安装 "GO::TermFinder"模块出现错误,Could not read metadata file. Falling back to other methods to determine prerequisites.

linux问题解决方法

解决方法

1. 运行命令 perl -MCPAN -e shell

linux问题解决方法

2. 运行安装模块的命令,因为有错误,所以执行“不检测、强制安装”,notest force install GO::TermFinder

linux问题解决方法

3. 成功安装

运行 m GO::TermFinder 查看已安装模块信息

linux问题解决方法

参考:http://search.cpan.org/~andk/CPAN-2.00/lib/CPAN.pm

---------------------------------------------------------------------------------------------

No. 16

SRC: http://hi.baidu.com/hansfly/item/a6bc78181e7c5d17e3f986b2

1. VIM 指定重复次数

要匹配某一项的特定次数重复,使用 “\{n,m}” 这样的形式。其中 “n” 和 “m” 都是数字。在它前面的那个项将被重复 “n” 到 “m” 次 (|inclusive| 包含 “n” 和 “m”)。例如:
   /ab\{3,5}
匹配 “abbb”,”abbbb” 以及 “abbbbb”。
当 “n” 省略时,被默认为零。当 “m” 省略时,被默认为无限大。当 “,m” 省略时,就表示重复正好 “n” 次。例如:
   模式    匹配次数
   \{,4} 0,1,2,3 或 4
   \{3,} 3,4,5,等等
   \{0,1}    0 或 1,同 \=
   \{0,} 0 或 更多,同 *
   \{1,} 1 或 更多,同 \+
   \{3}    3
   
2. VIM 多选一匹配

在一个查找模式中,”或” 运算符是 “\|”。例如:
   /foo\|bar
这个命令匹配了 “foo” 或 “bar”。更多的抉择可以连在后面:
   /one\|two\|three
匹配 “one”,”two” 或 “three”。
如要匹配其多次重复,那么整个抉择结构须置于 “\(” 和 “\)” 之间:
   /\(foo\|bar\)\+
这个命令匹配 “foo”,”foobar”,”foofoo”,”barfoobar”,等等。
再举个例子:
   /end\(if\|while\|for\)
这个命令匹配 “endif”,”endwhile” 和 “endfor”。


SRC: http://blog.sina.com.cn/s/blog_4b1816550100k2ec.html

3. 假设有如下数据,以空格为数据列分割:
1  何维川   124.63     172  0.72
2  张子寅   99.67      172  0.58
3  周广滨   93.34      188  0.50
4  陈兴     41.86      188  0.22
5  薛永成   26.68      188  0.14
6  张永福   18.25      188  0.10
7  李华田   18.25      188  0.10
8  葛祥营   11.89      164  0.07
9  王天民   -16.55     156  -0.11
10 刘峰     -16.19     152  -0.11
11 郭居岗   -86.73     152  -0.57
12 杨军     -213.45    152  -1.40

如果我们想以第4列数据进行排序,可以在vim中如此做

:1,12!sort -r -n -k4.1,5

-r 是降序排序
-n 是按数字大小排序
-k,表示根据那个字段排序,4.1,表示第4列第一个字符开始 ,5表示到第5个字段为结束
-t 后面跟分隔符,缺省是空格

运行后数据如下:
7  李华田   18.25      188  0.10
6  张永福   18.25      188  0.10
5  薛永成   26.68      188  0.14
4  陈兴     41.86      188  0.22
3  周广滨   93.34      188  0.50
2  张子寅   99.67      172  0.58
1  何维川   124.63     172  0.72
8  葛祥营   11.89      164  0.07
9  王天民   -16.55     156  -0.11
12 杨军     -213.45    152  -1.40
11 郭居岗   -86.73     152  -0.57
10 刘峰     -16.19     152  -0.11


SRC: http://fuwangwang98.blog.163.com/blog/static/16616174201232571113110/

:1,$!sort -k 4 -t"."
表示從第1列開始, 以第8 欄資料進行排序, 分欄字元是 "."
結果會如下 :
192.168.1.20
192.168.1.218
192.168.1.22
218 竟然排在 22 的前面? 是因為以"文字順序"排序的關係

:1,$!sort -k 4 -t"." -n
表示從第1列開始, 以第4 欄資料進行排序, 分欄字元是 "." , 並且依數字大小而非文字順序排序
結果會改變如下
192.168.1.20
192.168.1.23
192.168.1.218

---------------------------------------------------------------------------------------------

No. 17

查看目录空间,目录大小 estimate file (dir) space usage

sudo du -h --max-depth=1

结果

zsf@server512:/home$ sudo du -h --max-depth=1
du: cannot access `./wulei/.gvfs': Permission denied
24G    ./wu
du: cannot access `./wangzijie/.gvfs': Permission denied
1.1G    ./wang
16K    ./lost+found
41M    ./fu
du: cannot access `./anna/.gvfs': Permission denied
9.1G    ./an
du: cannot access `./zhangwei/.gvfs': Permission denied
573M    ./zhang
du: cannot access `./sunrong/.gvfs': Permission denied
14G    ./sun

---------------------------------------------------------------------------------------------

No. 18

Vim,复制若干行到另一文件,如

:1, 500 w! toFile1.txt

---------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------


未完待续