#21.shell 壳,有壳就又核,核是指unix/linux内核,壳是为用户与系统提供交互的应用程序(命令解析器)。普通意义的shell,就是接受用户输入命令的程序,之所以成为壳,是因为它隐藏了系统底层的细节。
#22.linux终端中的通配符,主要是*和?,是由shell来处理,不是由所涉及的命令语句处理。通配符使用时,它只会出现在命令的参数里,当shell遇到参数中有通配符时,shell会将其当做路径或文件去磁盘中查找匹配,有匹配的就将其替换,没有就通配符当做是普通字符交由命令处理。所以通配符时由shell实现的路径扩展功能。
#23.终端里6个设备,/dev/tty1-6,是真终端,用ctrl+alt+F1-F6进行切换;pts是伪终端,伪终端就是当你在图形用户界面使用/dev/tty7时每打开一个终端就会产生一个伪终端,pts/0后面的数字是伪终端号。
#24.查看某个用户所在的用户组,a). groups 用户名 b). cat /etc/group | grep -E “用户名”
把一个用户添加到sudoers中,可以用root或已经具备sudo权限的用户,执行sudo usermod -G sudo 用户名
#25.lnmp一键安装https://lnmp.org,磁盘使用情况df -l , 当前目录大小 du -sh
#26.lnmp安装wordpress后,在后台修改permalinks后,首页,后台可以打开,其他页报404 NOT FOUND,我当时是用ip/wordpress访问,然后从网上查到了一些解决方式,然后就在vhosts/wordpress.conf里修改,结果始终没有打开那些页面。最后发现用ip访问,根本就不走vhosts/wordpress.conf,最后我就去修改nginx.conf,在里面添加include wordpress.conf,然后去修改自带的wordpress.conf,在里面添加了/wordpress配置,这样重启nginx后,页面打开了。注:原来网上的配置是对的,只是我放错了位置,因为ip访问根本就是nginx.conf才起作用。
location / {
try_files $uri $uri/ /index.php?$args;
}
location /wordpress{
try_files $uri $uri/ /wordpress/index.php?$args;
}
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
#27.jdk官网直接wget一个jdk,结果解压报错
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
用file jdk-xxx.tar.gz命令执行是HTML document, ASCII text, with very long lines, with CRLF line terminators
下载jdk要接受协议,而wget默认不接受。结果下的是html文档。
解决方式:
wget -c --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"
http://download.oracle.com/otn-pub/java/jdk/xxx.tar.gz
加上参数再下载
#28.linux系统实现php通过pdo方式对sqlserver数据库的支持,安装sqlsrv扩展 https://github.com/Microsoft/msphpsql ,安装过程中可能遇到的问题: a).安装或更改php版本 http://www.jb51.net/article/83466.htm centos 查看系统版本 lsb_release -a (安装的70w) b).编译时,报错 无法识别的命令行选项“-std=c++11”,先升级gcc(http://jingyan.baidu.com/article/15622f2435355dfdfcbea595.html),然后修改/usr/bin中gcc,c++,g++(http://blog.csdn.net/lhh1113/article/details/64441802) c).libstdc++版本升级问题 (下载的这个 libstdc++-5-dev_5.4.1-8_i386.deb) http://blog.csdn.net/xiaolong2w/article/details/23915171 d).安装的sqlsrv4.0.4版本 e).lnmp一键安装包环境安装php扩展https://www.vpser.net/manage/lnmp-php-install-ext.html , Linux上安装php的pear wget http://pear.php.net/go-pear.phar , php -f go-pear.phar 回车 安装,ln -s /usr/local/php/bin/pear /usr/bin/pear ln -s /usr/local/php/bin/pecl /usr/bin/pecl , pecl install xxx时报错configure: error: Cannot find php-config. Please use --with-php-config=PATH , 解决方式:ln -s /usr/local/php/bin/php-config /usr/bin/ ;无法识别的命令行选项“-std=c++11 升级gcc,升级更高版本报错make: *** [all] error 2,所以安装的4.8.2,后来发现了解决方式:gcc 升级make时error错误,添加swap文件 dd if=/dev/zero of=/swapfile bs=1024 count=512k , mkswap /swapfile swapon /swapfile free -m #查看swap分区,详见 http://wuzhuti.cn/2573.html。
#29.SQLSTATE[HY000] [2003] Can't connect to MySQL server on xx的报错 setsebool httpd_can_network_connect 1
30.系统上合法的shell会写入/etc/shells文件中
31.在/etc/passwd文件中,每一行最后一个数据就是可以取得的默认的shell
32.bash这种shell可以记忆历史命令,本次登录后的命令会存在内存中,本次登录前的历史命令存在家目录下.bash_history中
33.第一个字按tab是命令补齐
34.通配符*的使用
35.命令的连接换行用 \回车
36.linux是多人多任务的环境
37.环境变量PATH,命令会在该变量记录的路径中寻找,没有找到,会报错 command not found
查看变量内容用echo。 echo $PATH
38.用户自定义变量 varname=content 内容有空格时,可以用双引号或单引号。同php一样,双引号解析里面的变量,单引号不解析
39.cd /lib/modules/`uname -r`
40.查看环境变量 env,查看环境变量和用户自定义变量 set