【Linux】指令与权限

格式:命令名称 [功能选项] [操作对象]

目录相关的命令

mkdir 创建目录

  • -p 多层递归创建目录,每一层目录不存在都会被创建
eg:mkdir -p test/abc/bcd

rmdir 删除空目录

  • -p 多层空目录的递归删除
eg:rmdir -p test/abc/bcd

cd     改变当前所在路径(进入指定目录)

  • ~ 快速回到当前用户的家目录
  • - 快速回到上一次所在的路径      

ls 浏览目录--—(文件夹),列出目录下的文件信息

ls work/ 浏览work目录下面的文件
  • -a 浏览所有文件(不忽略所有以.开头的文件),即查看隐藏文件

[Linux下,以.开头的文件默认为隐藏文件]

. 表示当前路径

.. 表示当前路径的上一层

ls -a worspace
  • -l 查看文件的详细信息
//也可以组合使用 
eg:ls -la work/

文件类型: - 普通文件 b 阔设备文件 l 符号链接文件

d 目录文件 c 字符设备文件  S

pwd 查看当前所在路径--绝对路径

/home/pussycat-doll

绝对路径:表示路径时,起始位置从根目录开始的路径

相对路径:表示路径时,起始位置从当前路径开始的路径      

普通文件操作命令

touch  刷新已存在的文件属性,若文件不存在,则创建新的文件

  • -d 以指定时间刷新属性 “2018-02-28 12:10:30”
  • -r 以指定文件的时间刷新另一个文件
  • -a 只刷新最后一次访问时间
  • -m 只刷新最后一次修改时间

rm 删除普通文件

  • -r 递归删除目录下的所有文件
  • -f 忽略提示信息,直接删除

cp  拷贝一个文件到指定路径下

cp /etc/passwd ./abc将passwd拷贝到当前目录下,并且重命名为 abc
  • -r 拷贝目录(包括目录下的所有文件)
  • -f 忽略提示信息,直接拷贝

mv  移动一个文件到指定位置(即剪切)

  • -i 增加提示信息

cat 打印(短小文件)文件内容到显示终端

eg:cat abc.txt
  • -n 打印内容时携带行号

more 分页显示内容(通常向下看)

  • 回车和空格 向下按页滚动
  • f 向下按页滚动
  • b 向上按页滚动
  • q 退出

less 使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

  • f 向上翻页
  • b 向下翻页
  • j/k按行滚动
  • ?字符串 向上匹配字符串
  • / 字符串 向下匹配字符串

head 默认显示前十行

  • -n 显示前n行
  • tail 默认显示末尾10行
  • -n 显示后n行
  • -f 一直刷新文件末尾的新数据

压缩/解压缩命令

  • zip/unzip zip格式的压缩与解压
  • gzip/gunzip gzip格式的压缩与解压
  • bzip2/bunzip2 bzip2格式的解压与压缩

tar 打包命令

  • -c 打包
  • -x 解包
  • -v 显示详细的打包信息/解包信息
  • -z 打包或者解包同时进行gzip格式的压缩与解压缩
  • -j 打包或者解包同时进行bzip2格式的压缩与解压缩
  • -f 指定包名称(需要放到与指定的名称相隔一个空格)
tar -xvzf abc.tar.gz 解包

tar -cvzf abc.tar.gz abc.txt abc2.txt 打包

时间日期命令

cal 查看日历

  • -3 查看上个、本月、下个月日历
  • -y 查看全年日历
  • -j 一年的日历以第几天的形式显示出来

date 查看或显示系统时间

  • +‘’ 以指定时间进行显示
    • date +”%Y-%m-%d %H:%M:%S"
    • date +'%s'
    • date +"%Y:%m:%d"
  • -s 设置系统时间(需要root权限)
    • date -s "yyyy-mm-dd HH:MM:SS"

匹配查找命令

grep 在文件内容中匹配包含指定字符串的行

  • -i 忽略大小写
  • -v 反向匹配
  • -R 递归对指定目录下的所有文件进行字符匹配    

 find 通过文件名/文件大小/类型...查找文件

  • -name 按文件名查找
  • -size 按文件大小查找
    • +/-n +为n(b c k M G)大小以上
    • -为n(b c k M G)大小以内
find ./ -size -3k
  • -type 按文件类型查找(f、d、c、b、l、p、s)
  • -time 按时间来查找
    • -ctime/-atime/-mtime +n/-n 按天计算
    • -cmin/-amin/-mmin +n/-n 按分钟计算
对找到的文件进行进一步操作

find ./ -name 'test*' -exec rm '{}' \;

其他命令

ps 命令用于显示当前进程的状态,类似于 windows 的任务管理器。

  • -A 列出所有的进程
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的行程

netstat 查看端口号

  • -t 指明显示TCP端口
  • -u 指明显示UDP端口
  • -l 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
  • -p 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
  • -n 不进行DNS轮询,显示IP(可以加速操作)

即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··

netstat -ntlp   //查看当前所有tcp端口·
netstat -ntulp |grep 80   //查看所有80端口使用情况·
netstat -an | grep 3306   //查看所有3306端口使用情况·
查看一台服务器上面哪些服务及端口
netstat  -lanp
查看一个服务有几个端口。比如要查看mysqld
ps -ef |grep mysqld
查看某一端口的连接数量,比如3306端口
netstat -pnt |grep :3306 |wc
查看某一端口的连接客户端IP 比如3306端口
netstat -anp |grep 3306
netstat -an 查看网络端口 

bc 计算器

man   手册查看命令:man 命令名称

sudo 临时为普通用户提权(无需每次切换管理员)

ifconfig  查看或设置网卡信息命令

service network start 启动网络服务

stat + 文件名称--查看文件的状态信息

su 切换用户

eg:su root

       useradd  添加用户

eg:useradd -m cat 创建用户并创建目录

       passwd   user_name 在root权限之下修改某个用户的密码

eg:passwd cat

       | 管道符  连接两个命令 

eg:yum list | grep lrzsz

将前面命令的输出结果交给后面的命名进行处理

>> 追加重定向 改变数据的流向

>  覆盖重定向

指令>和>>区别

  1. 指令 > : 如果文件存在,将原来文件的内容覆盖;原文件不存在则创建文件,再添加信息。
  2. 指令 >>:不会覆盖原文件内容,将内容追加到文件的尾部。
  3. cat 文件1 > 文件2 ——将文件1的内容覆盖到文件2中
  4. echo “内容” > filename——将内容写入覆盖到文件中
  5. cat 文件1 >> 文件2——将文件1的内容追加到文件2的尾部
  6. echo “内容” >> filename——将内容写入追加到文件的尾部

* 通配符

ldd 检测可执行程序所依赖的第三方库      

快捷键:tab键 自动补全

              ctrl+c 中断当前操作

              ctrl+z并没有使那个程序中断

              reboot 重启

              shutdown -h now 立即关机

              halt            立即关机                 

shell: 命令行解释器

权限

基础知识

[pussycat-doll@localhost ~]$ umask

0002

该0002为权限掩码(mask) 则使得:777-002 = 775(111 111 111 &(~(000 000 010)))为默认创建文件的权限。

计算默认创建文件的权限为:给定的权限&(~mask)

eg:给定权限为rwx rwx rwx ,mask为022,则默认创建权限为:777&(~022) = 755

权限的相关命令

1. umask 为查看或设置文件的权限默认掩码 eg:umask 002

2. chmod 修改权限(通过八进制的权限修改)

chmod 644 test //修改文件txst的权限为644
chmod 0-r test //取消文件txst其他用户的可读操作权限
chmod g+x test //增加文件txst group用户的可执行操作权限
chmod a+x test //增加所有人(all)的可执行操作权限(或者chmod +x  txst)

3. chgrp groupname filename 修改文件所属组(只能使用root修改)

4. chown username filename 修改文件所有者(只能使用root修改)

5. 粘滞位:其他用户在设置了粘滞位的目录中,可以创建文件,但是只能删除自己的文件,不能删除别人的文件 chmod +t

进程相关命令

PS——用于将某个时间点的进程运行情况选取下来并输出,process之意

  • -A:所有的进程都显示出来
  • -a:不与终端terminal有关的进程显示出来
  • -u:有效用户的相关进程
  • -x:一般与a参数一起使用,可列出较完整的信息
  • -l:较长,较详细地将PID的信息列出
  • [paussycat@localhost ~]$ ps aux #查看系统的所有进程信息
    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root          1  3.3  0.2 193796  2460 ?        Ss   17:22   0:04 /usr/lib/systemd/systemd --switched-root
    root          2  0.0  0.0      0     0 ?        S    17:22   0:00 [kthreadd]
    root          3  0.0  0.0      0     0 ?        S    17:22   0:00 [kworker/0:0]
    [paussycat@localhost ~]$ ps ax #查看与terminal有关的进程
    PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00 [kworker/0:0]
    4 ?        S<     0:00 [kworker/0:0H]
    [paussycat@localhost ~]$ ps -lA #查看系统所有的进程数据
    F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
    4 S     0      1      0  2  80   0 - 48449 ep_pol ?        00:00:04 systemd
    1 S     0      2      0  0  80   0 -     0 kthrea ?        00:00:00 kthreadd
    1 S     0      3      2  0  80   0 -     0 worker ?        00:00:00 kworker/0:0
    [paussycat@localhost ~]$ ps axjf #查看连同一部分进程树的概念
      PPID    PID   PGID    SID TTY       TPGID STAT   UID   TIME COMMAND
         0      2      0      0 ?            -1 S        0   0:00 [kthreadd]
         2      3      0      0 ?            -1 S        0   0:00  \_ [kworker/0:0]
         2      4      0      0 ?            -1 S<       0   0:00  \_ [kworker/0:0H]
         2      5      0      0 ?            -1 S        0   0:00  \_ [kworker/u256:0]
    
    

    kill命令

kill -l //列出当前所有可用信号

[paussycat@localhost ~]$ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX

kill -[信号名称/编号] 对应进程的pid
 

kill -1 2246 #对pid为2246的进程发出暂停信号

kill -SIGKILL 2243 #杀死进程2243

top

——Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

top - 17:40:35 up 18 min,  2 users,  load average: 0.30, 0.22, 0.34
Tasks: 203 total,   2 running, 201 sleeping,   0 stopped,   0 zombie
%Cpu(s): 17.4 us,  5.7 sy,  0.0 ni, 76.5 id,  0.0 wa,  0.0 hi,  0.4 si,  0.0 st
KiB Mem :   995664 total,    69060 free,   639740 used,   286864 buff/cache
KiB Swap:  2097148 total,  1993724 free,   103424 used.   189340 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                               
  1765 paussyc+  20   0 3002960 158432  50804 S 12.6 15.9   1:08.83 gnome-shell                           
  1087 root      20   0  345628  52856  21120 R  6.6  5.3   0:16.87 X                                     
  2393 paussyc+  20   0  681092  28784  17592 S  4.0  2.9   0:06.28 gnome-terminal-                       
   259 root      20   0       0      0      0 S  0.7  0.0   0:00.37 kworker/u256:4                        
   583 root      20   0   57504    592    436 S  0.3  0.1   0:00.06 bluetoothd                            
  1042 root      20   0 1006612    660    384 S  0.3  0.1   0:01.10 libvirtd                              
  1736 paussyc+  20   0  233104   1132    396 S  0.3  0.1   0:00.33 at-spi2-registr                       
  2114 paussyc+  20   0  608912   8780   2148 S  0.3  0.9   0:02.19 vmtoolsd                              
  2731 paussyc+  20   0  162100   2324   1580 R  0.3  0.2   0:00.28 top           

# 这部分是动态显示的                        

[1]——可以查看各个cpu的负载

[-H] [-p] [pid]——可以查看各个线程的工作状态

ipcs命令

——用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息

执行ipcs -m命令可以看到以下信息

 

ipcrm命令——用来删除一个或更多的消息队列、信号量集或者共享内存标识。

ipcrm -m [共享内存的操作句柄shmid]

 

高频指令

查看日志

一般测试的项目里面,有个logs的目录文件,会存放日志文件,有个xxx.out的文件,可以用tail -f 动态实时查看后端日志。

先cd到logs目录(里面有xx.out文件)

tail -f xx.out

这时屏幕上会动态显示当前的日志,ctrl+c停止。

查看最近1000行日志

tail -1000 xx.out

查看端口

查看某个端口是否被占用

netstat -anp|grep 端口号

图中主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了

netstat -anp|grep 82

可以看出并没有LISTEN那一行,所以就表示没有被占用。此处注意,图中显示的LISTENING并不表示端口被占用,不要和LISTEN混淆哦,查看具体端口时候,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了

查看当前所有已经使用的端口号的情况。

netstat -nulp

查看 ip 地址及接口信息——ifconfig

计算字数——wc

在默认的情况下,wc将计算指定文件的行数、字数,以及字节数

wc可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。

  • -c 只显示字节数
  • -l/--line 只显示行数
  • -w/--words 只显示字数
  • --help 在线帮助
  • --version 显示版本信息
wc filename

也可以同时统计多个文件的信息。

wc testfile_1 testfile_2 testfile_3 #统计三个文件的信息

file命令——用于辨识文件类型

file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]

[paussycat@192 work]$ file deadlock.c

deadlock.c: C source, ASCII text
  • -b 列出辨识结果时,不显示文件名称。

[paussycat@192 work]$ file deadlock.c

deadlock.c: C source, ASCII text

[paussycat@192 work]$ file deadlock.c

deadlock.c: C source, ASCII text
  • -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
  • -f<名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
  • -L   直接显示符号连接所指向的文件的类别。
  • -v   显示版本信息。

df命令(disk free)——显示目前在 Linux 系统上的文件系统磁盘使用情况统计

[paussycat@192 work]$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs          482104       0    482104   0% /dev
tmpfs             497832       0    497832   0% /dev/shm
tmpfs             497832    8700    489132   2% /run
tmpfs             497832       0    497832   0% /sys/fs/cgroup
/dev/sda3       18555904 6331468  12224436  35% /
/dev/sda1         303780  192112    111668  64% /boot
tmpfs              99568      24     99544   1% /run/user/1000
  • -a, --all 包含所有的具有 0 Blocks 的文件系统
  • -t, --type=TYPE 限制列出文件系统的 TYPE
  • -T, --print-type 显示文件系统的形式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值