Linux常见命令

  • 常见命令列表

命令介绍 命令行
根目录 /
查看本机所有的用户 cat /etc/passwd
查看命令的帮助 例如:查看ls的帮助命令为 man ls
翻页 ctrl+d
退出界面 ctrl+c 或者直接按 q
移动到指定路径 cd
移动到当前用户目录 cd ~
查看当前路径 pwd
列出文件夹的文件 ls
列出文件夹下面的详细信息 ls -l 等同于 ll
列出文件夹下面的详细信息(包含隐藏文件) ls -al
  • php 环境命令

    命令介绍 命令行
    ubuntu 下查看 apache2 的错误日志 systemctl status apache2.service
    查看 php 版本 php -v
    快速查找 php.ini 文件路径 php --ini
    查看 php 安装了哪些扩展 php -m
    进入Interactive shell php -a
    查看 php 信息,相当于执行:phpinfo() php -i
    查看配置文件信息 php -i grep php.ini
    执行 php 文件 php -f <file>
    查看帮助 php -h
    查看 apache 版本 apachectl -v
    查看 apache2 状态/开启/重启/停止 sudo service apache2 status/start/restart/stop
    查看 apache(httpd)状态/开启/重启/停止 systemctl status/start/restart/stop httpd
    查看 mysql 版本 mysql --version
    查看 nginx 配置是否配置正确 nginx -t 或者进入 sbin 目录之后使用 ./nginx -t 命令
    重启 nginx 进入 sbin 目录之后使用 ./nginx -s reload 命令
    查看 nginx 版本 nginx -v
  • 系统命令

    命令介绍 命令行
    重启 reboot
    关机 halt
    查看系统版本 (centOS) cat /etc/redhat-release
    操作系统信息的显示(全部显示)(含义分别如下一行对应) uname -a
    内核名称/主机名/当前系统的内核版本/主机的硬件名称/处理器的类型/主机的硬件平台/所使用的操作系统的名称 uname -s/-n/-r/-m/-p/-i/-o
    查看当前进程 top (相当于windows的任务管理器)
    杀死指定进程 kill pid 比如杀掉pid为25的进程:kill 25
    查看内存的使用情况 cat /proc/meminfo 或者 free -m
    查看 CPU 信息 cat /proc/cpuinfo 或者 dmesg grep -i xeon
    查看内存占用 df -hT
    alex@iZ23nnxxwiyZ:~$ df -h
                总大小  已使用  可用 已使用比例
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/xvda1       20G  3.0G   16G  17% /                             //系统盘
    none            4.0K     0  4.0K   0% /sys/fs/cgroup
    udev            7.9G  4.0K  7.9G   1% /dev
    tmpfs           1.6G  384K  1.6G   1% /run
    none            5.0M     0  5.0M   0% /run/lock
    none            7.9G     0  7.9G   0% /run/shm
    none            100M     0  100M   0% /run/user
    /dev/xvdb1     1008G   27G  931G   3% /superdata                    //数据盘    
    
  • 查找文件

    find 比如:在根目录下面查找文件名为php的文件: find / -name php (如果查找的文件比较多,不想继续查找可以直接按ctrl+c退出)

    查找所有 jay 用户的所有文件,并将其拷贝到 /root/findjayfiles/ 目录下

      find / -user jay -exec cp -a {} /root/findjayfiles/ \;

    在 /usr/share/dict/words 文件中,查找所有包含 seismic 字符串的行,且过滤空行,写入到 /root/wordlist 中

      grep seismic /usr/share/dict/words | grep -v ^$ > /root/wordlist
  • 创建文件夹

    mkdir 比如:创建 aaa 的文件夹 mkdir aaa

  • 怎么判断是文件还是文件夹?

    先使用 ll 命令查看该目录下的文件,文件前面是 '-' 文件夹前面是 'd'

  • 删除文件

    rm 比如:删除 aaa 的文件夹 rm aaa 文件和文件夹都删除: rm -rf aaa

  • 移动文件

    mv

    比如在同一个文件夹下面修改 index.html 文件为 index2.html 的方式为:mv index.html index2.html (修改文件名)
    修改文件夹名称,比如将 test 文件夹修改成 test1 的命令为: mv test test1
    移动root文件夹下面rosecake文件夹中的所有文件到指定目录的方式为:mv /root/rosecake/ ./ (代表所有文件,./代表当前文件夹下面)
  • 复制文件

    cp 比如把 a 文件复制成 aa文件 : cp a aa

    比如把 abc.zip压缩包复制到 /home/user/alex 目录: cp abc.zip /home/user/alex

    比如将 my_cake_test 文件夹下面所有的文件拷贝到当前文件夹下(-r表示递归)

    cp -r /home/wwwroot/default/my_cake_test/* ./

    比如当前位于 my_cake_test 目录下 需要复制此目录下所有文件到上一级目录

    cp -r * ../

  • 写入文件

    比如:把123写入 a 这个文件 echo 123 > a

  • 查看文件

    比如:查看 a 这个文件 cat a

  • 下载文件

    wget 比如下载百度主页的文件:wget www.baidu.com

  • 关于添加压缩文件

    ==建议不要添加成 rar 的压缩文件,不然在服务器上面解压缩的时候很麻烦,可以直接添加成 zip 的压缩文件==

  1. zip

    优点:各系统平台都可以用,缺点:压缩率不是很高

      // 压缩 tt 目录为 zip 格式
      zip -r tt.zip tt
      // 解压缩
      unzip tt.zip
  2. tar

    优点:CPU 消耗少,缺点:仅仅是打包工具,不负责压缩

      // 压缩 tt 目录为 tar 格式
      tar -cvf tt.tar tt
      // 解压缩
      tar -xvf tt.tar
  3. tar.gz

    优点:CPU 占用少,压缩率很理想

      // 压缩 tt 目录为 tar.gz 格式
      tar -czvf tt.tar.gz tt
      // 解压缩
      tar -xzvf tt.tar.gz 或者 tar zxf tt.tar.gz 或者 tar xzf tt.tar.gz
  4. tar.bz2

    优点:所有方式中压缩率最好,缺点:更加占用 CPU 和时间

      // 压缩 tt 目录为 tar.bz2 格式
      tar -cjvf tt.tar.bz2 tt
      // 解压缩
      tar -xjvf tt.tar.bz2
  • 命令从哪里来?

    1. 比如查看 ls 命令来自哪里?命令行输入以下命令
      
        whereis ls

    // ubuntu 16.0.4 LTS版本会出现 alex@alex-virtual-machine:~$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz

    // centos 7版本会出现 [root@iZuf6aig35m8ho0xq75ijnZ ~]# whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz 表示 ls 的命令在 /usr/bin/ 目录下

    // ubuntu 16.0.4 LTS版本中 / 目录下会有 bin 和 sbin 文件夹 // centos 7版本中 /usr/ 目录下也会有 bin 和 sbin 文件夹 // bin 文件夹下的命令表示任意用户都可以使用 sbin 文件夹下的命令只能管理员使用

  1. 查看命令的介绍
    
    // ubuntu 16.0.4 LTS版本和centos 7版本都可以使用,比如查看 ls 的帮助信息 ls --help 或者使用 man ls 也可以
    
    • 两台服务器之间的文件传输

  2. 运用 scp 远程拷贝文件或者文件夹,输入完以下命令会提示输入远程机的登录密码
    
    // 从远程拷贝到本地
    
    // 将远程 /root/carpoly\_en.sql 文件拷贝到 本机 /home/doorder/ 下 scp root@120.78.73.110:/root/carpoly\_en.sql /home/doorder/
    
    // 将远程 /root/test 文件夹下所有文件(包含test文件夹)拷贝到 /home/doorder/ 下 scp -r root@120.78.73.110:/root/test /home/doorder/
    
    // 从本地拷贝到远程
    
    // 将本地文件 /home/doorder/test.php 拷贝到 远程机 /root/ 目录下 scp /home/doorder/test.php root@120.78.73.110:/root/ // 将本地 /home/doorder/test 目录,以及目录中的所有文件 拷贝到远程 /root/ 目录下 scp -r /home/doorder/test root@120.78.73.110:/root/
    
  3. 使用 lrzsz 软件
    
    // ubuntu 使用以下命令下载 sudo apt-get install lrzsz
    
    // centos 使用以下命令下载 yum -y install lrzsz
    
    // 上传命令 rz
    
    // 下载命令 sz
    
  • 计划任务

    1. 需要修改系统的 Cron 计划任务配置信息,运行以下命令:

    export EDITOR=vi && crontab -e

    2. 复制以下内容

    // Laravel 命令调度器允许你在 Laravel
    // 中对命令调度进行清晰流畅的定义,并且仅需要在服务器上增加一条 Cron // 项目即可。调度在在 app/Console/Kernel.php 文件的 schedule // 方法中定义。在该方法内包含了一个简单的例子,你可以随意增加调度到 Schedule 对象中。

            • php /home/vagrant/Code/larabbs/artisan schedule:run >> /dev/null 2>&1

    // 以下为参考

    /1 * /usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &

    /20 * /usr/sbin/ntpdate ntpupdate.tencentyun.com >/dev/null &

    * /data/app/php-7.1.9/bin/php /data/web/operation/artisan schedule:run -q > /data/web/operation/storage/logs/console.log 2>&1 &

  1. 为特定用户设置计划任务

    
    // 为 natasha 用户设置计划任务 crontab -e -u natasha
    
    // 填写内容格式为 分 时 日 月 星期 命令
    
  • 配置 yum 仓库

    
    vim /etc/yum.repos.d/redhat.repo
    

    填写以下内容

    
    \[redhat\] name=redhatyum baseurl= yum仓库地址 enabled=1 gpgcheck=0
    

或者直接执行

```

yum-config-manager --add-repo="yum仓库地址"

```

阿里源

```

<http://mirrors.aliyun.com/repo/Centos-7.repo>

```

配置完之后需要执行

```

// 清除所有缓存 yum clean all

// 建立缓存 yum makecache

```
  • 管理远程会话 screen

  1. 创建一个新的会话窗口

    
    screen -S backup
    
  2. 查看会话

    
    screen -ls
    
  3. 退出会话

    
    exit
    
  4. 直接使用 screen 命令执行要运行的命令,这样在命令中的一切操作也都会被记录下来,当命令执行结束后 screen 会话也会自动结束。

    
    screen vim memo.txt
    
  5. 会话共享功能

    // 终端 A:创建会话 screen -S backup
    
    // 终端 B:同步终端信息 screen -x