zoukankan      html  css  js  c++  java
  • Linux命令学习与使用2

    1.Ctrl+a:跳到命令行首 Ctrl+E: 跳到命令行尾 Ctrl+L:清屏
    2.切换用户 su - 用户名
    3.更换yum镜像源
    1.进入/etc/yum.repos.d 备份CentOS-Base.repo
    2.http://mirrors.163.com/选择centos下载CentOS6-Base-163.repo
    3.CentOS6-Base-163.repo修改成CentOS-Base.repo
    4.运行以下命令生成缓存 yum clean all yum makecache
    5.yum grouplist查看安装的软件
    4.安装tree,telnet,dos2unix,sysstat,lrzsz
    5.关闭selinux 1.修改/etc/selinux/config 改为SELINUX=disabled 2.setenforce 0 临时修改成Permissive,开机启动后会生效
    6.修改开机启动模式
    1.修改/etc/inittab 文件,改成3命令行模式
    2.切换 init (option)
    7.chkconfig 查看设置开机软件自动启动
    8.修改ssh默认端口:
    1.备份/etc/ssh/sshd_config.bak
    2.Port 22 ssh默认端口,修改
    3.PermitRootLogin yes 修改成no ,禁止root远程登陆
    4.PermitEmptyPasswords no 禁止空密码登陆
    5.UseDNS yes 改为no 不使用DNS
    6./etc/init.d/sshd restart
    9.行+gg定位到行
    10.visudo 98行配置sudo普通用户的权限 配置NOPASSWD: ALL sudo su -不需要密码
    11.netstat -lntup查看网络状态
    12.时间同步
    13.w查询当前登录的用户
    14./etc /etc/init.d 有许多命令服务
    15.挂载点--->文件系统的(设备)的入口(新加的设备,磁盘,U盘无法使用要先挂载在一个目录下使用)
    16.自己的软件命令可以建立在/usr/local/bin下,可以全局执行
    17.file 文件 查看文件类型
    18.创建连接文件 ln -s 源文件 新文件名 windows快捷方式类似
    19.stat h1.c 查看文件状态
    20.dumpe2fs /dev/sda1 |grep -i "Inode size" 查看inode信息
    21.df -i 查看inode总量和使用量 df -h 查看磁盘使用量
    22.硬链接与软链接:ln -s 源文件 新文件名 创建了软链接 不带-s默认创建硬链接
    1.硬链接是通过索引节点(Inode)来进行链接 多个文件名指向一个inode这就是硬链接--->目录不支持硬链接
    2.软链接是指向另一个的文件名,相当于windowns系统的快捷方式
    23.awk,sed,grep
    1.正则表达式:^匹配以什么开头,$匹配结尾,.匹配任何一个字符(一个)
    2.*重复0个或多个前面的一个字符 .*匹配所有字符 []匹配里面的字符 +匹配一个或多个 ?0个或一个
    24.crond 定时任务格式 *(分) *(时)*(日) *(月) *(星期) cmd
    1.注意:周和日尽量不要同时使用
    2.crontab -e 添加编辑定时任务
    25.hostname查看主机名
    26修改主机名
    1.hostname 名称
    2.vim /etc/sysconfig/network
    3.vim /etc/hosts
    27./etc/sysconfig/network-scripts/ifcfg-*
    28.重启网卡/etc/init.d/network restart
    29.查看网关 route -n
    30.route add(del) default gw ip增删网关
    31.nslookup查看dns解析 dig域名也可以 traceroute 域名 路由跟踪
    32.free -m查看内存
    33. fdisk -l 查看磁盘情况 磁盘大小=磁道数*磁头数*512字节*扇区数
    34.分区:
    1.fdisk /dev/sdb
    2.添加完毕后partprobe 通知系统磁盘发生了改变
    3.磁盘格式化 mkfs.ext4 /dev/sdb1
    4.mount /dev/sdb1 /mnt/ 挂载使用 umount /mnt/删除挂载
    35.du -sh /etc/(*) 查看文件或目录的大小
    36.dumpe2fs /dev/sdb1 查看文件系统信息
    37.nfs搭建:
    1.默认已经安装完毕
    2.服务端:启动rpc /etc/init.d/rpcbind start 查看 ps -ef |grep rpc 服务rpcinfo -p localhost
    3.服务端:启动nfs /etc/init.d/nfs start chkconfig --list nfs
    3.服务端: 编辑配置文件 vim /etc/exports /data 192.168.138.0/24(rw,sync) 重启nfs /etc/init.d/nfs reload 查看showmount -e localhost
    4.客户端: 检查 showmount -e 192.168.138.137
    5.挂载 mount -t nfs 192.168.138.137:/data /mnt/
    38.卸载rpm --nodes(不考虑依赖,如果有依赖卸载时) -e 源
    39.apache安装:
    1.下载httpd
    2.安装查询
    0.--prefix=PREFIX install architecture-independent files in PREFIX
    1.--enable-deflate Deflate transfer encoding support 压缩
    2.--enable-expires Expires header control
    3. --enable-headers HTTP header control
    4.--enable-modules
    5. --enable-so DSO capability
    6.--with-mpm=MPM MPM={beos|event|worker|prefork|mpmt_os2|winnt}
    7. --enable-rewrite rule based URL manipulation
    8../configure --prefix=/usr/local/apache2.2.31 --enable-deflate --enable-expires --enable-headers --enable-modules --enable-so --with-mpm=worker --enable-rewrite
    3.提示安装失败使,缺少那个安装那个 源 源-devel
    4.echo $?检查是否成功
    5.make 然后make install
    40,apache优化
    1.去掉没有首页展示目录结构 Options -Indexes FollowSymLinks
    41.配置多个站点
    1.vim httpd-vhosts.conf
    2.打开Include conf/extra/httpd-vhosts.conf Include conf/extra/httpd-mpm.conf
    3.添加<Directory "/var/www/html/">
    Options -Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
    4.重启apache
    42.mysql---->推荐用二进制文件安装 后面的步骤与源码安装相同
    1.安装创建mysql组
    2.创建mysql用户 useradd mysql -g mysql -M -s /sbin/nologin
    3.见Linux中MySQLl单实例源码编译安装.txt文件
    43.php
    1.安装php依赖包
    yum install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel -y
    安装libiconv ./configure --prefix=/usr/local/libiconv make make install
    2.安装php
    ./configure --prefix=/usr/local/php-5.5.38
    --with-apxs2=/usr/local/apache/bin/apxs
    --with-mysql=/usr/local/mysql
    --with-xmlrpc
    --with-openssl
    --with-zlib
    --with-freetype-dir
    --with-gd
    --with-jpeg-dir
    --with-png-dir
    --with-iconv-dir=/usr/local/libiconv
    --enable-sockets
    --enable-mbstring
    --enable-soap
    --enable-static
    --enable-gd-native-ttf
    --with-curl
    --with-xsl
    --enable-ftp
    --with-libxml-dir
    编译失败 安装 yum install openssl-devel yum install libxslt-devel
    3.make && make install 成功 cp php.ini-development /usr/local/php/lib/php.ini
    4.apache httpd.conf 增加2行 第311行
    AddType application/x-httpd-php .php .phtml
    AddType application/x-httpd-php-source .phps
    5.该首页地址为index.php
    44.nginx
    1.安装pcre yum install pcre pcre-devle 支持rewrite 伪静态
    2.yum install openssl openssl-devel
    3.0. 首先创建用户,组 useradd nginx -s /sbin/nologin -M
    3../configure --user=nginx --group=nginx --prefix=/usr/local/nginx-1.10.2 --with- http_stub_status_module --with-http_ssl_module
    4.make && make install
    45.mysql非源码安装:
    46.nginx php安装
    1.依赖包同apache安装php同 yum install libxslt* -y
    2.失败
    error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
    1.先确认/usr/local/mysql/lib/下是否有libmysqlclient.so.18这个文件.
    ll /usr/local/mysql/lib/|grep libmysqlclient.so.18
    2.修改ld.so.conf文件
    echo "/usr/local/mysql/lib" >>/etc/ld.so.conf
    3.然后执行ldconfig使其生效.
    3.改配置文件:cp etc/php-fpm.conf.default etc/php-fpm.conf
    47.cms discuzz wordpress
    48.php优化
    1.安装yum install perl-devel -y
    2.安装扩张方法usr/local/fastphp/bin/phpize ./configure --enable-eaccelerator=shared
    --with-php-config=/usr/local/fastphp/bin/php-config
    3.安装mysqli扩张
    ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config
    /home/centos3/Public/apps/php-5.5.38/ext/mysqli/mysqli_api.c:36:47: error: ext/mysqlnd/mysql_float_to_double.h: No such file or directory
    make: *** [mysqli_api.lo] Error 1
    注意:可能相对路径有问题,mysqli_api.c中mysql_float_to_double.h路径在mysqlnd中
    3.在php.ini中修改extension_dir = "/usr/local/fastphp/lib/php/extensions/no-debug-non-zts-20121212/"
    extension=mysqli.so
    4.php.ini 在php的lib可以找到
    5.一般php忘记安装的在安装的源码中ext可以重新添加,先要usr/local/fastphp/bin/phpize 再configure make...
    49.php缓存加速器xcache
    1.与eaccelerator二选一
    2.安装:先执行/usr/local/fastphp/bin/phpize,./configure --enable-xcache --with-php-config=/usr/local/fastphp/bin/php-config
    3.php.ini添加 extension=xcache.so
    50.安装PDO_MYSQL
    1。先执行/usr/local/fastphp/bin/phpize
    2../configure --with-php-config=/usr/local/fastphp/bin/php-config --with-pdo-mysql=/usr/local/mysql
    3.报错:/home/centos3/Public/apps/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:53: error: expected specifier-qualifier-list before ‘MYSQL_RES’
    make: *** [pdo_mysql.lo] Error 1
    解决:是因为在编译时需要mysql的头的文件,而它按默认搜索找不到头文件的位置,所以才出现这个问题.所以要将 /usr/local/mysql/include/ 目录下的mysql头文件链接到 /usr/local/include/ 的目录下:
    ln -s /usr/local/mysql/include/* /usr/local/include/
    然后再make和make install,pdo_mysql模块加进去了.
    51.优化:
    1.隐藏版本号:server_tokens off;
    2.压缩:
    gzip on;
    gzip_min_length 1000;
    gzip_buffers 4k;
    gzip_http_version 1.1;
    gzip_comp_level 6;
    gzip_types text/html text/css text/xml application/javascript text/plain application/json;
    gzip_vary on;
    52.apache忘记安装模块解决办法----->以DSO动态模块加载
    1.切换到apache源码路径:/home/centos3/Public/apps/httpd-2.2.31/modules/filters
    2.(这是安装的路径)/usr/local/apache/bin/apxs -c -i -a mod_deflate.c
    3.检查apache安装目录是否生成.so文件 ll /usr/local/apache/modules/
    53.expires本地缓存

    54.js,scc等不记录日志配置
    location ~ .*.(js|jpg|JPG|jpeg|JPEG|css|bmp|gif|GIF)${
    access_log off;
    }css失效什么原因?
    55.安全
    1.所有站点目录的用户和组都应该为root
    2.所有目录权限为755
    3.所有文件权限为644
    4.网站服务的用户不能用root
    5.修改成expose_php = off不显示php版本
    56.iptables
    1.iptables -L -n
    2.iptables -F清空规则 iptables -X删除自定义的规则 iptables -Z链的记数器清零
    3.iptables -t filter -A INPUT -p tcp --dport 80 -j DROP
    4.-A与-I区别:-A在末尾添加规则,-I在开头添加
    5.iptables -t filter -A INPUT -i eth0 ! -s 192.168.0.2 -j DROP 封某个ip
    6.iptables -t filter -A INPUT -p tcp --dport 80:100 -j DROP 80-100之间的端口被封
    57.svn
    1.yum install subversion -y
    2. 启动svnserve -d -r svndata/ svnadmin create 路径/工程
    3.工程下svnserve.conf 打开 12行改成anon-access = none auth-access = write password-db =/home/centos3/Public/svnpasswd authz-db = /home/centos3/Public/svnpasswd/authz
    4.cp authz passwd /home/centos3/Public/svnpasswd/
    5.重启svnserve
    58.shell
    1.注意:[] 两边要写空格否则会出错
    2..bash_profile .bashrc 全局变量那个用户家名录设置那个有效 /etc/profile 下所有用户有效
    3./etc/profile.d/ 放置进入bash执行的文件
    4.unset name 环境变量的取消
    5.$0获取当前shell脚本的文件名,包括脚本路径
    6.dirname $0 路径名 basename $0 文件名
    7.${n}获取脚本的参数
    8.$#获取当前脚本参数的个数
    9.$?获取上一次脚本执行是否成功
    10.脚本退出一般用exit 1
    11.$*获取脚本传入的所有参数,将所传入的所有参数看成一个字符串,类似"$1$2.."
    12."$@"获取脚本传入的参数,但是是分别列出,类似"$1" "$2"... "$*" 所有参数一个字符串输出,$@,$*相同分别列出,类似"$1" "$2"...
    13.shift参数向前移位
    14.数值计算:
    1.((a=1+2**3-2)) 双括号里面运算 echo $(($a+1))
    2.let i=i+2 没有(())效率高
    3.expr
    4. echo 2+2|bc
    5.read -p "请输入:" a echo $a
    15.条件测试
    1.man test 查看用法
    2.字符串比较注意点:[ "ab" = "ab" ]&&echo 1||echo 0 1.字符串""引起来,2.要有空格
    3.[ ] [[ ]]区别 []里面用-a -o -gt -ge ... 而[[]] 可以对应用 && || > >=
    16.shell函数
    1.echo -e "33[{3-4}{0-7}m 111 33[0m" 显示字体不同颜色
    17.数组定义a=(1 2 3 4) echo ${#a[*]} echo ${arr[@或*]} 获取所有元素 获取数组长度 打印 echo ${a[0]}
    2.定义关联数组 declare -A arr2 arr2=(['a']=11 ['b']=22 ['c']=33) echo ${arr2['a']}
    echo ${!arr2[*]}列出所有索引 echo ${arr2[*]}列出所有值
    18.tty 显示当前用户终端的名字. 注意每一个单独的xterm窗口都被算作一个不同的终端.
    19.lsof 列出打开的文件. 这个命令将会把所有当前打开的文件列出一份详细的表格, 包括文件的所有者信息, 尺寸, 与它们相关的信息等等
    20.: > data.xxx 作用相同于:cat /dev/null >data.xxx
    21.command &>filename 会重定向命令command标准输出(stdout)和标准错误(stderr)到文件filename中
    22.一个后面跟一个&的命令会在后台运行.
    59.sftp centos3@192.168.138.138
    60.sed 行编辑器
    61.grep
    62.awk 报告生成器

    63.内存释放:echo 1 > /proc/sys/vm/drop_caches

    64.To free dentries and inodes:echo 2 > /proc/sys/vm/drop_caches

    65.To free pagecache, dentries and inodes:echo 3 > /proc/sys/vm/drop_caches

    66.mysqladmin -uroot -p123456php password 123456为管理员用户修改密码

    67.mysql忘记密码解决

      1.mysqld_safe --skip-grant-tables --user=mysql &

      2.mysql可以直接登陆然后再修改密码

    68.删除用户:drop user 'user'@'localhost'

     69.备份:mysqldump -uroot -p123456 -B aitvshow|gzip>a.sql.gz

      解压gzip压缩文件gunzip -c a.sql.gz >aa.sql

    欢迎大家指正
  • 相关阅读:
    20162324 2016-2017-2《Java程序设计》课程总结
    Java实验五网络编程与安全
    Java结对编程之挑战出题
    实验四Android开发
    Java四则运算总结
    实验三
    Java结对编程四则运算一周小结
    队列课下作业
    20162325 金立清 S2 W5 C14
    2017-2018-1 我爱学Java 第二周 作业
  • 原文地址:https://www.cnblogs.com/wuhua1/p/linux5.html
Copyright © 2011-2022 走看看