Linux命令笔记

文件及文件目录操作相关

1.查看文件内容

  ① cat 

  命令格式:cat [options]  [file...]

  选项:

    -A 显示所有字符,包括控制字符和非打印字符。

    -s 将相邻的多个空行“挤”在一个空行里。

    -n 显示行号。

  特点:cat命令显示文件时会同时显示所有内容。大型文件会在显示屏上一晃而过,难以阅读,所以cat命令比较适合显示内容小于一屏的文件。

  more和less

  命令格式more/less [options]  [file...]

  选项:

    -c 重绘屏幕,而不是接着滚屏显示。

    -s 将多个相邻的空行“挤”在同一行里。

    -r [less命令选项] 显示原始控制字符。

  特点:more和less都可以在显示屏上浏览文本文件。less命令比more命令更加强大。

  less,more导航命令(在使用more/less命令之后的动作命令)。以后就用less好了。

  

命令 more less 动作
<空格键> 1 1 前进一页
[PgDn] 0 1 前进一页
[向上箭头] 0 1 前进一行
[向下箭头] 0 1 后退一行
[PgDn] 0 1 后退一页
b 1 1 后退一页
/text 1 1 (text为关键字)向前搜索文本
?text 0 1 (text为关键字)向后搜索文本
n 1 1 重复上个搜索
N 0 1 反方向重复上个搜索
q 1 1 退出
h 1 1 帮助

   ③head

  命令格式:head [options]  [file...]

  选项:

    -num,-n num 显示开始的num行(默认显示10行)。

    -q 不显示文件标题,只显示文件内容。  

  特点:显示文件前面的几行。

  注释:如果将一个或者多个文件名作为参数,head命令分别显示每个文件的开始几行,文件内容间使用文件名作为抬头将文件分开。例如 head  -5 ./* 表示显示当前目录的全部文件的前5行

  ④tail

  命令格式:tail [options]  [file...]

  选项:

    -num,-n num 显示最后num行(默认是10行)。

    -q 不显示文件标题,只显示文件内容。

    -f 保持文件处于打开状态,不断显示新添加的行。(follow)

  特点:显示文件的最后几行。

  注释:使用 tail -f 时, 可用这个选项实时监控系统日志文件,一旦使用这个选项,命令就不会返回,一直会处于活动状态,直到按Ctrl+C组合键中断进程。

2.编辑文件

  vi/vim编辑器的使用:菜鸟教程>>

3.创建空文件

  touch

  命令格式:touch [file..]

  特点:创建一个空文件。

  例子:touch 001.txt

4.文件搜索命令

  find 

  命令格式: find [range] [option] [condition]

  //to be continued...

5.文件移动,复制,

  cp : 复制文件

  cp 001.txt 002.txt  //复制一份001.txt,并命名为002.txt

  cp 001.txt  /etc  //复制001.txt到etc目录下

  cp 001.txt 002.txt /etc //复制001.txt,002.txt到/etc目录下

  cp ~/index.html .  //从你的主目录复制文件index.html到当前目录

  注:当要移动的对象是目录时,必须使用-r选项,否则就会报cp: omitting directory `*'的错误。

常规文件所有者及权限:

  Linux中每个文件都有三个属性:用户所有者,组所有者和一组权限

  当一个用户创建一个文件时,该用户就是这个文件的用户所有者,(经常)这个用户的主要组也就成为了这个文件的组所有者。

  三种权限类型:r可读,w可写,x可执行

  三种访问级别:u用户所有者,g组所有者,o其他

  

  

  上面的login.html文件只有oracle用户可写,其他成员都只能读取。

一些命令:

  chmod可以用来修改文件的权限

  第一个参数由一组字母组成,表明访问级别,然后跟+-=,再跟另一组字母,表明要改变的权限。第二个参数指明要改变的文件。

图片来自《RedHat用户基础》

一些例子:

图片来自《RedHat用户基础》

注:八进制计数法,确定权限

r可读为4,w写入是2,x执行是1

r  100

w  010

x  001

 

777  rwx rwx rwx

755 rwx r-x r-x

640 rw- r-- ---

701 rwx --- --x

 

例如: chmod 600 diary

运行上述命令之后,diary的权限是rw- --- ---

新建文件默认664,新建目录默认775

chgrp可以用来修改文件的组所有者

  chgrp GROUP FILE

chown命令可以改变用户的所有者

  chown USER FILE

 

输出重定向:

例子:pwd > result.txt 将当前目录重定向到result.txt中。

   echo hello > 001.txt

【注意:如果result.txt已经存在,重定向将会删除并重建一个空的文件存放输出结果】

 还有一个符号:>>,如果文件存在,新的输出结果将会追加在文件末尾。如果文件不存在系统将会建立一个文件,填充输出结果。

 用户和组相关

几个重要的文件:

/etc/passwd文件存放着用户名与用户ID的对应关系。用户密码不存储在这里

oracle:x:501:501::/home/oracle:/bin/bash

用户名:密码:用户ID:主要组 ID::主目录:登陆Shell

用户ID:Linux内核用这个整数识别用户

主要组ID:Linux内核用这个整数识别用户的主要组

主目录:用户登陆时,其登陆的Shell将用这个目录作为当前工作目录。这是普通用户可以写入的几个目录之一,通常为用户私有。

登陆Shell:用户登陆时的默认Shell,通常为/bin/bash

/etc/shadow文件存放着用户的密码 【影子密码】

test:$1$MukwPn9g$TiId2t/NxX7WQF0yzbCTx.:17742:0:99999:7:::

注:普通用户不可以查看此文件的内容,root用户可以查看,且密码被加密。用户可以使用passwd命令修改自己的密码(不接收参数,例如passwd)。root用户可以更改用户的密码(接收参数[用户名],例如passwd test)。

/etc/group文件将组名和组ID 联系在一起,并且定义了哪些用户属于哪些组。

test:x:504:   

组名称:组密码:组ID:组成员

组名称:可读的组名称

组密码:组的密码,比较少用

组ID:整数组ID

组成员:定义组成员的用户列表,用逗号隔开

注:文件系统上的每个文件都有一个用户所有者和一个组所有者

几个命令:

id 常常被用来确定用户成员的身份信息。

例子:

  命令:id test

  输出:uid=503(test) gid=504(test) groups=504(test)

whoami 输出当前用户的用户名

users 打印当前登陆用户的简单列表

例子:

  命令:users

  输出:oracle root root root

w 打印当前登陆的用户,提供了更为详细的信息

例子:

  命令:w

输出:

11:00:37 up 2:20, 5 users, load average: 0.05, 0.03, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
oracle pts/1 192.168.70.1 08:42 0.00s 0.17s 0.07s w
root pts/2 192.168.70.1 09:23 23:26 0.04s 0.04s -bash
root tty1 :0 09:29 2:20m 4.37s 4.37s /usr/bin/Xorg :0 -nr -verbos
root pts/3 :0.0 09:30 1:28m 0.01s 0.01s /bin/bash

USER 登陆用户的用户名

TTY 登陆用户的终端

FROM 如果用户从网络上登陆,用户使用的主机名

LOGOIN@ 用户会话开始时间

PCPU 在‘WHAT’字段中命名的唯一一个当前进程所消耗的CPU时间总量

WHAT 用户当前运行的进程

su命令可以让用户切换用户(switch user)

例子:su 用户名

  su test 

  如果当前用户是root用户,则直接切换,若是普通用户,则需要输入密码才能切换。

 

命令列表


关机 halt poweroff
cal 简单日历程序
ps 显示单终端上启动的所有进程。
ps aux 显示所有正在系统中运行的进程。
who 命令判断谁在系统上
service iptables stop 关闭防火墙(需root权限)
ps -ef|grep redis-server 查找某个进程的信息

id test 查看某个用户的用户ID(用户名),主要组ID(主要组名),用户所属的所有组(组名称)

   

选项列表


-r  (recursive) 递归,许多命令都有递归选项,能够访问目录树的所有分支,比并依次对其进行处理。

通配符


 

字符 描述
* 匹配0个或者多个字符(开头的点'.'除外)
匹配一个字符(开头的'.'除外)
[...] 匹配在给出的列表或者范围内的任意一个字符,[a-zA-Z0-9]
[^...] 匹配在给出的列表或者范围外的任意一个字符
原文地址:https://www.cnblogs.com/synchronizer/p/9347838.html