分类目录归档:linux

linux(mac)下的字符串处理

跨*niu平台字符串处理

linux下字符串截取是很常见的需求 这里有一些方法 列如 expr

expr 可以用来操作数字的加减乘除 列如 expr 1 + $a

but expr is a terrible command … 在mac系统上 expr根本不能调用substr命令 而且我们来man expr下 直接翻到最后一页 我们可以看到

According to the POSIX standard, the use of string arguments length, substr, index, or match produces undefined results. In this version of expr, these arguments are treated just as their respective string values.

其实我们完全可以用别的方式来替代expr这糟糕的命令 shell本身自带了语法就可以进行这些操作

列如字符串截取我们可以用很多方法来替代

而数学运算我们也可以用$[1+$a]来处理

so easy….妈妈再也不用担心我跨平台了….

fedora16折腾记

update:2013-11-09

note:去年的文章 因为懒惰导致很多要点都没记上  结果现在又要重复查资料 。
一 字体渲染
因为很多命令都要root 那么就不sudo了 直接 su -

1 安装增强渲染包
install

配置

选择风格
USE_STYLE=”UBUNTU”
这里要重启才会生效

2 设置字体
引用一些字体常识
via @ http://forum.ubuntu.org.cn/viewtopic.php?f=8&t=378179&p=2820995#p2820995

字体的选用
1.Serif 有衬线 Sans Serif 无衬线

英文字体明确地在字体名称中就可以区分如Liberation Serif Liberation Sans
中文字体 凡宋体类都是有衬线 凡黑体类都是无衬线
有衬线一般用于印刷 无衬线一般用于屏幕显示和网页
详见

http://en.wikipedia.org/wiki/Sans_serif

2.hinting instructions
hinting instructions是字体自带的自动调整指令,使得字体清晰,在LCD上尤其有用
字体自带的hinting instructions的质量不同,full partial none 当然full比较好
我知道的几种字体的hinting instructions的质量
full: Liberation Drioid WenQuanYi
partial: Microsoft YaHei
none:SimSun
应当根据字体的hinting instructions的质量的不同选用不同的hinting style和autohinting。

3.渲染设置
Antialiasing 选Rgba
如果字体的hinting instructions的质量是full,Hinting选Full
如果字体的hinting instructions的质量是partial none, Hinting选Slight或None ,还要配置autohint
查询当前渲染设置
#xrdb -query
Xft.antialias: 1
Xft.autohint: 0
Xft.dpi: 96
Xft.hinting: 1
Xft.hintstyle: hintfull
Xft.lcdfilter: lcddefault
Xft.rgba: rgb

3 设置浏览器字体
参考2
特别注意 有些网站很贱 强制宋体显示 比如百度贴吧等 如果是chrome可以安装插件强行改变字体 如果是ff 可以设置不用网站的字体

二 多媒体播放
linux下当然也要看片 要不然宅男门怎么活 我就不说遇到的重重困难了 直接说步骤

首先是前期准备

1 添加rpmfusion源

rpmfusion源是极具影响力的第三方软件仓库,提供有版权(nonfree)和专利(free)问题的免费软件,对于一般用户来说rpmfusion源可以说是必不可少的。
在终端中输入命令:
rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

引用:

现在我们开始安装 RPM Fusion 软件仓库,RPM Fusion 是 Fedora 和 Red Hat 企业版的软件仓库,是由 Dribble, Freshrpms 和 RPM Fusion 合并而来的。各种各样的应用程序包含在这个软件仓库中,比如MP3、未加密的 DVD 、Mplayer, VLX, Xine 等多媒体应用程序使用的解码库,以及闭源的 Nvidia 和 ATI 显卡驱动,RPM Fusion 包含以下两个主要的软件仓库:

一个被命名为“免费”,为开源软件提供(开源软件的含义通过 Fedora授权指引 定义),但因为美国专利保护法案又不能包含在 Fedora 中。
另一个被命名为“非免费”,为非自由软件提供,就是其它所有那些不能被免费提供的,包括公开源代码的软件,但是有“非商业使用”之类的限制。

2获取 GPG 密钥失败:[Errno 14]
而我们安装fusion源的时候,默认是没有添加gpg密钥的,所以安装软件的时候会出现错误
打开fusion源官网上的密钥页面:http://rpmfusion.org/keys
第一行就是密钥对应的系统的版本,你用的是什么版本的系统就选择对于的密钥,然后点击download下载密钥,
RPM-GPG-KEY-rpmfusion-free-fedora-16
这样的,然后打开终端
su获取root权限,再输入以下命令:
rpm –import ‘ /home/XXX/RPM-GPG-KEY-rpmfusion-free-fedora-16′

3 添加YUM源

一般系统自带的更新源速度很慢,可以使用国内网易或搜狐的镜像。
到其开源镜像网站http://mirrors.163.com/和http://mirrors.sohu.com/下载fedora的源配置文件。
将修改好的配置文件保存到/etc/yum.repos.d/目录下。
最后在终端输入:
yum makecache
生成缓存即可。

4安装fastestmirror YUM插件

当YUM源很多时,安装fastestmirror插件可以使得yum从速度最快的yum源下载。
在终端中输入命令:
yum install yum-plugin-fastestmirror

5 yum install vlc

三 扩展gnome

1 安装GNOME调节工具(GNOME Tweak Tool):

对我来说,一种所谓的”纯粹的”GNOME外壳用起来很无趣。使用过程中,只显示关闭按钮的窗口标题栏只是其中一个很烦人的方面。不过借助GNOME调节工具,你可以通过图形化界面配置其中一些特性。想安装该工具,你可以通过外壳终端或者通过gpk应用程序来安装。如果通过外壳终端来安装,只要以根用户身份输入yum install gnome-tweak-tool。如果通过gpk应用程序来安装,按名称来搜索该应用程序,并安装。然后,你可以从应用程序选择器视图来启动它。GNOME调节工具的主默认视图如下所示。我总是喜欢更改的第一个设置是Arrangement of buttons on the titlebar(排列标题栏上的按钮)。我喜欢显示所有的按钮。这只是你使用GNOME调节工具就能改动的众多设置之一。

2 安装两个gnome shell 插件

The two extensions are the Taskbar (by zpydr), which displays icons of running applications on the top panel, showing thumbnails of those applications on hover, and Workspaces to Dock (by passingthru67), which transforms the workspaces of the overview mode into an intellihide dock.

 

………………………..待续……….该休息了………………………….

RHEL/CentOS/Fedora各种源(EPEL、Remi、RPMForge、RPMFusion)配置

tar切换目录打包

tar是个很常用的命令 有时候我们在/root下打包其他目录的文件 总是会带上不需要的上层目录
虽然可以cd到目标目录在tar 但是其实也是有办法的

执行命令时发现找不到new_app 猜测可能切换目录要放到前面

上述两条都是成功的
至于解压包的时候 -C 就无所谓放哪了

ps:–exclude排除某个文件夹的时候 最后面不要加/

fedora开机启动goagent

想不通linux下goagent上传竟然被墙 无奈进windows上传了python客户端
linux下python proxy.xy 要在后台运行加一个nohup即可 否则关掉了shell 进程就被kill了
当然 最好还是来一个开机启动脚本咯
写了个goagent.sh文件,让其在开机时自动启动。
goagent.sh中很简单只要写下面两行代码就够了。

chmod +x 让它可以执行
Fedora 16下不能从系统管理中进入启动程序管理,而是要按住alt+f2,在跳出的框中输入gnome-session-properties才能打开启动程序管理

点击添加,输入名称,在命令框内按浏览选中刚才创建的goagent.sh,点击保存即可。这样我们每次开机的时候都会自动运行goagent了

linux零碎笔记。

1. /usr 类似于windows的c盘 存的都是一些和系统相关的文件

2. /dev/sda2表示/dev/sda硬盘的第二个分区
/dev/hda1表示/dev/hda硬盘的第一个分区

3. 文件命名规则
1>除开/之外 所有字符都合法
2>避免使用某些字符 如空格符 制表符 退格符和 @#¥&()-
3>避免使用.作为普通文件命的第一个字符( 带.的是表示隐藏文件)
4>大小写敏感 包含文件名 命令(地球人都知道。。)
继续阅读

linux 压缩命令

gzip .gz
1 不能压缩目录
2 不保留源文件

tar
tar打包directory or file 如果是在/root 下打包/var/www 目录
tar -zcvf www.tar.gz /home/a 会带上绝对路径 释放的时候 会是 /var/www/file1 /var/www/file2
那么如何不带绝对路径捏 一种方法是cd /home 然后打包 tar -zcvf www.tar.gz www
还有一种方法也可以 tar -C /home -zcvf www.tar.gz www

linux各种时间问题

首先是系统时间问题 我手上这台服务器太坑爹了 竟然是2013….苦逼 下面来修改系统时间和时区
1.
# vi /etc/sysconfig/clock
ZONE=”Asia/Shanghai”
UTC=false
2.
# vi /usr/share/zoneinfo/Asia/Shanghai,如果结尾不是GMT-8,则修改为GMT-8
3.
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
4.
# ntpdate cn.pool.ntp.org
如果没有ntpdate命令的话 可以手动设置时间 date -s 20120404 date -s 20:20:00
最后执行hwclock -w 写入bios 避免重启失效

这样系统的时间基本上就准确了 但是有突然发现ftp上的时间相差了8个小时 原来FTP采用UTC时间作为它的时间。 接下来修改ftp
vi /etc/vsftpd/vsftpd.conf
在配置文件的最后一行加入以下代码
use_localtime=YES
然后重启 service vsftpd restart

好了 问题又来了 apache日志还是偏差8个小时
解决方案:后面 +480

ErrorLog "|/usr/sbin/rotatelogs /var/log/httpd/66su/66su.%Y%m%d%H.erroelog 3600 +480"
CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/66su/66su.%Y%m%d%H.accesslog 3600 +480" common

既然都说到这里了 随便说一下php的时间。。
vi /etc/php.ini
date.timezone = PRC 或者 date.timezone = Asia/Shanghai

vsftp 500 OOPS: cannot change directory:/home/

登陆ftp时再输入用户名和密码出现:500 OOPS: cannot change directory:/home/**********
解决方法:在终端输入 setsebool ftpd_disable_trans 1 然后重启vsftp服务 service vsftpd restart 如果输入上述命令时出现:Could not change active booleans: Invalid boolean 是因为SELinux的问题接着在终端输入:setsebool ftp_home_dir=1 重启vsftp服务即可解决问题

ps:搞了几个小时才搞定 应该是selinux惹的祸 擦你个擦 都4点了

都5点20了 linux权限问题终于差不多了 蛋疼 我是碎觉还是不碎捏?