Linux 基础学习

Linux常用指令:

查看磁盘剩余空间:df -hl

查看当前目录下各个文件夹大小: du -h --max-depth=1

查看指定目录下各个文件夹大小:du -h --max-depth=1 /path

查看运行内存:free -h

查看指定目录下所有文件的大小:du -h                                 du -sh 查看指定目录的大小

查看cpu 物理核数:cat /proc/cpuinfo| grep "cpu cores"| uniq

查看cpu 逻辑核数:cat /proc/cpuinfo| grep "processor"| wc -l

查看内存大小:cat /proc/meminfo| grep MemTotal  或者 free -g(以g为单位显示内存)

释放缓存:echo 3 > /proc/sys/vm/drop_caches 

 

查看字符个数(word count):wc

功能说明:计算字数。

语   法:wc [-clw][--help][--version][文件…]

补充说明:利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定任何文件名称,或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。假设不给予其参数,wc指令会一并显示列数、字数和Byte数

参   数:-c 只显示Byte数,亦即字符数;

    -l 只显示列数;

    -w 只显示字数;

    --help 在线帮助;

    --version 显示版本信息。

 

去重或显示唯一 (uniq)

用法:uniq [选项]... [文件]

从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出。
不附加任何选项时匹配行将在首次出现处被合并。
长选项必须使用的参数对于短选项时也是必需使用的。
  -c, --count           在每行前加上表示相应行目出现次数的前缀编号
  -d, --repeated        只输出重复的行
  -D, --all-repeated[=delimit-method    显示所有重复的行
                        delimit-method={none(default),prepend,separate}
                        以空行为界限
  -f, --skip-fields=N   比较时跳过前N 列
  -i, --ignore-case     在比较的时候不区分大小写
  -s, --skip-chars=N    比较时跳过前N 个字符
  -u, --unique          只显示唯一的行
  -z, --zero-terminated 使用'\0'作为行结束符,而不是新换行
  -w, --check-chars=N   对每行第N 个字符以后的内容不作对照
      --help            显示此帮助信息并退出
      --version         显示版本信息并退出
 
若域中为先空字符(通常包括空格以及制表符),然后非空字符,域中字符前的空字符将被跳过。
 
提示:uniq 不会检查重复的行,除非它们是相邻的行。

 

排序指令(sort)

sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。

参数:

-u 在输出行中去除重复行

-r 改为降序排序

-o 把排序内容写入原文件

-t选项,后面可以设定间隔符

-f会将小写字母都转换为大写字母来进行比较,亦即忽略大小写

-c会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1

-C会检查文件是否已排好序,如果乱序,不输出内容,仅返回1

-M会以月份来排序,比如JAN小于FEB等等

-b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较

 

su 从普通用户切换到root用户 

 

批量杀死多个进程:ps -ef | grep 线程名 | cut -c 9-15 | xargs kill -9

 

linux 查找指定目录下的文件或目录: find /opt -name 'jdk*' 

 

linux 服务器间复制文件和目录:

scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令     scp 加密,rcp 不加密

scp -r 源目录 目标目录

scp -r /opt/service/ 10.20.31.34:/opt/

 -r 递归复制整个目录      仅复制文件可以不用加参数

 

 linux pgsql数据库导出为sql文件:

./pg_dump -h 10.20.31.119 -U postgres em > em.sql

linux pgsql导入数据库:

./psql -h 10.20.31.31 -U postgres -d syncdata -f em.sql > out.txt

 

查看指定端口号的进程:

netstat -tunlp | grep 端口号

kill PID

 

查看文件的后几行:

tail -n 100 filename 

 实时滚动输出:

tail -f filename

 

查看rpm包的安装情况:

rpm -qa | grep -i 包名

安装rpm包:

rpm -ivh 包名

卸载安装的rpm:

yum remove -y 包名

卸载rpm包:

rpm -e 包名

rpm -e 包名 --nodeps   (强制卸载rpm包,排除依赖错误)

 

启动服务自启

systemctl enable zfredis

守护线程重载

systemctl daemon-reload

 

查看安装的centos版本

cat /etc/centos-release

 

查看当前进程的状态:ps(process status)

ps -ef | grep 服务名

各个字段的含义如下:
UID       PID       PPID      C     STIME    TTY       TIME         CMD

zzw      14124   13991      0     00:38      pts/0      00:00:00    grep --color=auto dae

UID      :程序被该 UID 所拥有

PID      :就是这个程序的 ID 

PPID    :则是其上级父程序的ID

C          :CPU使用的资源百分比

STIME :系统启动时间

TTY     :登入者的终端机位置

TIME   :使用掉的CPU时间。

CMD   :所下达的是什么指令

 杀死进程:

kill PID号

kill -9 PID号   # 强制杀死进程

 

shell 脚本中,进程暂时休眠操作:

sleep 2s    # 休眠2秒

sleep 2h    # 休眠2小时

 

Linux KVM虚拟机

进入图形化的虚拟界面:

virt-manager

 

yum 安装jdk1.8 :yum install java-1.8.0-openjdk* -y

看是否安装成功:java -version

 

 yum 安装git

查看yum可以安装的git版本:yum info git

安装:yum install git

查询:git --version

 

yum 安装maven

安装:yum -y install maven

查询:  mvn -version

 

释放被占用的接口

netstat  -tln | grep 占用端口号

fuser -v -n tcp 占用端口号

kill -9 pid号

 

ctrl+z 停止jar并退出

ctrl+c 退出控制界面,但不停止 

 

chmod :设置文件的权限

ls :浏览目录下的文件

lsof (文件句柄、文件描述符的区别):文件句柄是windows下的概念,文件描述符是linux/unix下的概念,两者相当

文件描述符是一个简单的整数,用以标明每一个被进程所打开的文件和socket.

文件描述符是进程级别,文件句柄是系统级别,在不同的级别表示已打开的文件

systemctl:用于系统管理服务

# 查询正在运行的服务
$ sudo systemctl | grep running
# 立即启动一个服务
$ sudo systemctl start apache.service

# 立即停止一个服务
$ sudo systemctl stop apache.service

# 重启一个服务
$ sudo systemctl restart apache.service

# 杀死一个服务的所有子进程
$ sudo systemctl kill apache.service

# 重新加载一个服务的配置文件
$ sudo systemctl reload apache.service

# 重载所有修改过的配置文件
$ sudo systemctl daemon-reload

# 显示某个 Unit 的所有底层参数
$ systemctl show httpd.service

# 显示某个 Unit 的指定属性的值
$ systemctl show -p CPUShares httpd.service

# 设置某个 Unit 的指定属性
$ sudo systemctl set-property httpd.service CPUShares=500

env:查看环境变量

rm:删除一个文件或目录

mv:改名或移到其它位置

cp:复制

netstat:用于检验本机各端口的网络连接情况  netstat -ntulp   (n:num t:tcp u:udp l:listening p:process)

 

& :放在命令的最后,把命令放在后台执行

nohup:不挂断的运行命令

 

查看当前后台运行的命令:  jobs :查看当前终端后台的任务

              ps : 查看当前所有的进程

 

关闭当前后台运行的命令

kill命令:结束进程

     (1)通过jobs命令查看jobnum,然后执行   kill %jobnum

     (2)通过ps命令查看进程号PID,然后执行  kill %PID

如果是前台进程的话,直接执行 Ctrl+c 就可以终止了

 

前后台进程的切换与控制

     (1)fg命令

       功能:将后台中的命令调至前台继续运行

       如果后台中有多个命令,可以先用jobs查看jobnun,然后用 fg %jobnum 将选中的命令调出。

     (2)Ctrl + z 命令

       功能:将一个正在前台执行的命令放到后台,并且处于暂停状态

     (3)bg命令

       功能:将一个在后台暂停的命令,变成在后台继续执行

       如果后台中有多个命令,可以先用jobs查看jobnum,然后用 bg %jobnum 将选中的命令调出继续执行。

 

df  -h    // 以磁盘分区的形式查看文件系统

du -h  [目录名]  //查看指定目录下的所有文件大小(包含子目录)

du -sh  [目录名]  //查看指定目录的大小

du -sm  [目录名]  //查看指定目录的大小(用m为单位显示)

 

/usr: 系统级的目录,理解为C:/Windows/
/usr/lib: 理解为C:/Windows/System32
/usr/local: 用户级的程序目录,理解为C:/Progrem Files/ (用户自己编译的软件默认安装到此目录下)
/opt: 用户级的程序目录,理解为D:/Software
opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。

源码位置
/usr/src: 系统级的源码目录。
/usr/local/src: 用户级的源码目录。

posted @ 2020-07-20 20:00  wangssd  阅读(150)  评论(0编辑  收藏  举报