《LINUX私房菜》笔记

中文MAN文档:

wget http://manpages-zh.googlecode.com/files/manpages-zh-1.5.1.tar.gz

./configure && make && make install
export LANG=zh_CN.GB2312

想看英文的, man -a ls

如果想删除,make uninstall

如果系统里没有安装gcc 和 g++ 的话:

如果是 CentOS 系统,可以使用 yum install gcc

使用 yum search gcc ,看到 gcc-c++.x86_64  ,所以使用 yum install gcc-c++* 就可以安装 g++ 了

关闭系统声音: modprobe -r pcspkr

恢复系统声音:modprobe pcspkr

bc命令,默认保留0位小数,可以使用 scale=n 来保留 n 位小数。 2^32  表示2的32次方。

history 会显示最近执行过的命令,通过!加上history序号,就可以执行history里的命令。

在输入命令时,Ctrl + a 会跳到命令开头; Ctrl + e 会跳到命令结尾;Ctrl + u 删除光标前的命令;Ctrl + k 删除光标后的命令。

 切换到root帐号:

sudo su    或   su -

/etc/init.d/ 文件夹下是系统各个级别中的服务。

/etc/rc.d/ 文件夹下的 rc0.d/ 文件夹到 rc6.d/ 文件夹 分别是 0~6 这七个级别,文件夹里的文件名(服务)以S开头的表示启动,以K开头的表示不启动。

 第六章

ls -l 来查看文件类型

- 开头是普通文件

d 开头是文件夹

b 开头是块设备文件(即可存储的设备)

c 开头是字符设备文件(如键盘等不可存储的设备)

l 开头的是软链接文件(即快捷方式)

然后依次显示三方对于该文件的权限:所有者,所有组,其它用户,依次为 u , g , o  。所有的用 a

chmod a=rwx test.cpp 

chmod u+x,g+x,o-x test.cpp

chmod 755 test.cpp       r用4,w用2,x用1  ,然后相加之和。    对于文件来说,x是执行权限;对于文件夹来说,是进入权限。

 ls -l 目录名   查看的是这个目录下文件的信息

ls -ld 目录名   查看的是这个目录的信息

chmod 777 目录名     则只改变该目录权限

chmod -R 777 目录名    则可递归改变该目录下所有文件权限

chown -R 所有者 目录名  可递归改变该目录下所有文件的所有者

chown 所有者:所有组 文件名    同时改变所有者和所有组,使用冒号和逗号都是可以的

chgrp 改变所有组

查看文件类型,不使用后缀,使用: file 文件名

cd ~   可以切换到用户家目前, 直接用 cd 效果一样

cd ~yugd  切换到 yugd 的家目录里去。

cd - 切换到上一次的目录

mkdir -p 目录名/目录名

mkdir -p aa/{bb,cc,dd}

cp -p 可以把属性信息一起复制过去。

more 文件名    可以分页查看文件,不过只能向后翻,回车按行,空格或d键按屏,q退出。支持查找关键字。

less 文件名     也可以分页查看文件,不过比 more 强大,可向上向下翻,快捷键和vim相同。而且可以查找关键字。

tail -f 文件名    可以持续查看文件末尾动态变化,比如可以用来监测日志。

touch 文件名    如果该文件不存在,则创建;如果存在,则更新其修改时间。

touch -t 201301011200  文件名  

which、whereis

locate 关键字 : 它查找的是系统中的一个数据库 /var/lib/mlocate/mlocate.db,该数据库每天生成一次。你可以使用 updatedb 来立即更新。

find [目录] -属性 值         

find -user root -group root

find / -name Login.hpp -or  -name Register.hpp

find / -size +1M -size -10M      如果不指明大小单位,则为字节

find -ctime -3    -ctime 为天数,可换为 -cmin 表示分钟。  后面的值 -3 表示小于3天,如果是 +3,表示大于3天。

find -newer test.cpp     在本目录查找比 test.cpp 还新的文件。

id 用户名:查看用户的uid

su - tianya  切换用户,默认切换到 root

使用CentOS 64bit 安装 wine 时,会报错,可以执行:

./configure --enable-win64 

yum install libgail-gnome-devel.x86_64

在 LINUX 下远程:

ssh 10.10.10.121

远程 windows 桌面有两个好用的工具:rdesktop 和 tsclient ,我觉得 tsclient 更好用。但使用tsclient,必须安装rdesktop,因为tsclient实际上是rdesktop的外壳程序,调用rdesktop进行连接。

 安装 wine:

yum install wine --setopt=protected_multilib=false --skip-broken

编码转换工具: iconv \  enca  \  convmv  前两者是转文件内容的,第三个是转换文件名的。

 find default -type d -exec mkdir -p utf/{} \;

 find s3 -type f -exec enca -x utf8 {} \;

 ssh -l root 10.10.10.222 使用 ssh 命令来连接远程LINUX机器, -l 参数表示 login_name  或: ssh root@10.10.10.222

scp /root/test.cpp root@10.10.10.222:/root/test   使用 scp 命令来上传本地文件到远程LINUX机器上的相应路径

 echo 123456 | passwd --stdin bob       给 bob 用户修改密码

linux系统中有个符号链接:/proc/self/exe 它代表当前程序,所以可以用readlink读取它的源路径就可以获取当前程序的绝对路径,如下:

#include <unistd.h>
#include <stdio.h>
 
int main(int argc , char* argv[])
{
    char buf[1024] = { 0 };
    int n;
 
    n = readlink("/proc/self/exe" , buf , sizeof(buf));
    if( n > 0 && n < sizeof(buf))
    {
        printf("%s\n" , buf);
    }
}

如果在putty中的命令行下无法输入中文,甚至都无法粘贴中文时(如 svn ci -m "中文注释"),可能是 /etc/inputrc (或者修改 /root/.inputrc)文件配置有了变化,该文件是处理键盘映射的,找到下面两项,修改成如下即可:

set meta-flag on       //允许从终端输入中文,否则的话终端会过滤掉每个字节的最高位
set input-meta on    //允许向终端直接输入中文 
set convert-meta off   //设置不将中文字符转化为转义序列,因为中文是两个字节表示的,第一字节的最高位是1开头的,可以能同于某个转义字符 
set output-meta on   //允许向终端直接输出中文

想临时取消 alias 效果,比如 alias cp = 'cp -i',可以在命令前加上 "\" 来执行,如 

\cp -r /tmp/test /tmp/script/
原文地址:https://www.cnblogs.com/tianyajuanke/p/2856769.html