linux 常用命令

菜鸟手册

菜鸟手册:

视频教程

【小白入门 通俗易懂】2021韩顺平 一周学会Linux:
https://www.bilibili.com/video/BV1Sv411r7vd
笔记:
https://blog.csdn.net/sinat_39047902/article/details/111561515

查看Linux系统版本信息的几种方法

  1. uname -a
    Linux haima-PC 4.15.0-30deepin-generic #31 SMP Fri Nov 30 04:29:02 UTC 2018 x86_64 GNU/Linux

  2. lsb_release -a
    No LSB modules are available.
    Distributor ID: Deepin
    Description: Deepin 15.11
    Release: 15.11
    Codename: stable

  3. cat /etc/issue
    Deepin GNU/Linux 15.11 \n \l

  4. cat /etc/redhat-release
    CentOS Linux release 7.2.1511 (Core)

  5. cat /proc/version
    Linux version 4.15.0-30deepin-generic (pbuilder@zs-PC) (gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)) #31 SMP Fri Nov 30 04:29:02 UTC 2018

netstat看系统进程

netstat -tpln

如果没有找到,用下面的命令安装

-bash: netstat: 未找到命令

apt-get update
apt install iputils-ping #安装ping命令
apt install net-tools #安装netstat命令
yum -y install net-tools #安装netstat命令

查看命令

cat -n /etc/profile | more +20 #-n 显示行号 从20行显示

more的常用操作命令
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more


看本地的分区

df -h
lsblk 或者 lsblk -f
fdisk -l

du命令查看各个目录的文件大小

du --max-depth=1 -hac /opt #不pgn /opt 默认为当前目录

linux下磁盘分区详解

https://www.cnblogs.com/yhaing/p/8706697.html

扩展根分区

VMware中扩展根分区
https://blog.csdn.net/Reserved_person/article/details/72819555
https://blog.csdn.net/dingchenxixi/article/details/50986472
https://www.cnblogs.com/xiaonq/p/10015249.html

ps 查看进程

ps -aux | grep parkdev
ps -ef | grep parkdev

kill 杀死进程

killall dev
pkill dev
pkill -9 进程号

校正服务器时间

ntpdate cn.pool.ntp.org

ln

  1. 软连接

    ln -s 目标目录名 软连接到当前的目录名

    ln -s /home/work/go/src/abc.com/yttAdmin yttAdmin

  2. 删除软链接

正确的是:rm -rf hb_link

错误的是:rm -rf hb_link/ 这个会把整个目录都删了

备注:想要删除链接文件要用以下命令 rm /home/hb_link 只是少了一个“ / ” 删除的 就是链接文件, 也就是在文件的最后不要加上/

连接远程ssh

lj.sh

#!/bin/bash

echo "123456"
ssh root@123.56.160.111

新建文件夹

mkdir -p /data/nginx/{conf,conf.d,html,logs}

scp

  1. 上传dev文件到服务器的指定目录下

testfile.sh dev

echo "密码123456" 
#下面写自己服务器的用户名和公网ip地址和编译文件要传到的目录 
scp $1 root@123.56.160.111:/home/work/go/src/linkbook.com/parkdev 

使用方法:
./testfile.sh dev

  1. 上传dev文件夹到服务器的指定目录下

testfile.sh dev

echo "密码123456" 
#下面写自己服务器的用户名和公网ip地址和编译文件要传到的目录 
scp -rC $1 root@123.56.160.111:/home/work/go/src/linkbook.com/parkdev 

使用方法:
./testfile.sh dev

  1. 免密码上传文件夹到服务器的指定目录

testScp.sh

#!/usr/bin/expect -f

# 复制test文件夹到服务器的home目录里   root:用户名 123456:服务器密码 -r: 递归复制整个目录。 -C: 允许压缩
spawn scp -rC test root@182.92.234.111:/home
#######################
expect {
  -re ".*es.*o.*" {
    exp_send "yes\r"
    exp_continue
  }
  -re ".*sword.*" {
    exp_send "123456\r"
  }
}
interact

使用方法:

./testScp.sh

whereis 查找符合条件的文件

whereis mysql

chmod 提升权限

更多语法:

Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。

u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
chmod -R 777 ./*  对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
chmod u+x tq.xlsx 拥有都可执行权限
chmod u-x tq.xlsx 拥有都不可执行权限
chmod g+x o-x tq.xlsx 同组可执行权限 其它人不可执行
chmod g-x o+x.xlsx 拥有都不可执行权限 其它人可执行
chmod -R a+r * 将目前目录下的所有文件与子目录皆设为任何人可读取 a:任何人
chmod 777 file 用数字来表示权限

chmod abc file 用字母来表示权限

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1

若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。

chmod a=rwx filechmod 777 file 效果相同

chmod ug=rwx,o=x filechmod 771 file 效果相同

haima@haima-PC:~/Desktop$ ll
-rw-r--r--  1 haima haima    13241 6月  17 17:31 tq.xlsx
haima@haima-PC:~/Desktop$ chmod +x tq.xlsx
haima@haima-PC:~/Desktop$ ll
-rwxr-xr-x  1 haima haima    13241 6月  17 17:31 tq.xlsx
haima@haima-PC:~/Desktop$ chmod -x tq.xlsx
haima@haima-PC:~/Desktop$ ll
-rw-r--r--  1 haima haima    13241 6月  17 17:31 tq.xlsx

alias别名

Linux alias命令用于设置指令的别名。

用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,定指令的别名。
打开/.bashrc或者/.zshrc文件,加上:

alias dc='docker'

[root@iZ2ze505h9bgsbp83ct28pZ ~]# vim ~/.bashrc
[root@iZ2ze505h9bgsbp83ct28pZ ~]# source ~/.bashrc
[root@iZ2ze505h9bgsbp83ct28pZ ~]# dc ps -a
CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS                    PORTS                                                NAMES
fb8fed37f144        wurstmeister/kafka       "start-kafka.sh"         10 days ago         Exited (137) 5 days ago                                                        kafka_kafka_1
4804978f6025        wurstmeister/zookeeper   "/bin/sh -c '/usr/sb…"   10 days ago         Up 10 days                22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp   kafka_zookeeper_1
653ecdcbe959        redis                    "docker-entrypoint.s…"   4 weeks ago         Up 4 weeks                0.0.0.0:6379->6379/tcp                               myredis

Linux 在文件中查找某字符串

命令:

grep 'word' filename

在多个文件中查找:

grep 'word' file1 file2 file3

查看出口ip

curl ip.3322.net
curl http://api.ip.sb/ip

同步系统时间

crontab -e
写入下面任务
*/10 * * * * /usr/sbin/ntpdate -u pool.ntp.org
*/10 * * * * /usr/sbin/ntpdate -u pool.ntp.org >/dev/null 2>&1

常用工具:

ftp软件:
WinSCP //类型ftp软件 (windows系统用)
xftp (windows系统用)
FileZilla //类型ftp软件 (windows系统用)

ssh工具:
Xshell (windows系统用)
SecureCRT //类型xshell (windows系统用)
设置中文乱码的问题

Cmder

曾在文章《Windows控制台(cmd)增强工具cmder》对Cmder有过介绍,准确的说他并不是真正意义的SSH工具,但是他支持很多Linux终端命令,如果您希望用来连接Linux服务器,可以使用下面的命令。
ssh -p 端口号 root@服务器IP

下载地址:Cmder
https://cmder.net/

推荐7款超级好用的终端工具 —— SSH+FTP
https://blog.csdn.net/yudianxiaoxiao/article/details/109828348

posted @ 2020-07-04 09:51  HaimaBlog  阅读(249)  评论(0编辑  收藏  举报