文件相关

创建文件

  • touch: touch README.md
  • ">"重定向: echo 'study and share' > README.md
  • vi && vim: vim README.md, vim是vi的升级版,直接用它吧,有些系统装好后只有vi,这里提一下。

删除文件

  • 删除文件 rm README.md,如果是多个文件你就往后面补文件名。

  • 自信地强制删除:rm -rf README.md, 数据无价,慎用。

linux最佳文本编辑器vim

# vim file: 有则打开文件,没则创建文件

# 三种模式: 插入模式(按i进入,或者o下一行)、可视模式(CTRL + V)、命令模式(默认)

# 关于保存: :q 退出、 :q! 退出不保存、 :wq 退出并保存

文件夹的相关操作

  • 创建文件夹:mkdir app

    • -p 创建多层嵌套文件夹,例子mkdir -p a/b/c
  • 删除文件夹:rmdir app, 多层嵌套的话rm -rf app

  • 查看文件夹相关信息:ls app

    • -a: 列举所有文件(包含隐藏的)
    • -l列表形式展示
  • 查看文件夹树结构:tree app

     root@ataola ? ~/linux ? mkdir -p a/b/c/d/e/f/g/h
    root@ataola ? ~/linux ? tree a
    a
    `-- b
    `-- c
    `-- d
    `-- e
    `-- f
    `-- g
    `-- h 7 directories, 0 files
    root@ataola ? ~/linux ?
  • 进入文件夹:cd app, .表示当前目录,那么返回上一级就是cd ..

复制、修改、移动、文件(夹)

  • 复制文件(夹): cp file1 file2

    • -r: 复制嵌套文件夹,例如cp -r a b, 其中a的结构是a/b/c,即多层时。
  • 修改和移动:mv app ppa, mv这个命令承载了重命名文件(夹)和拷贝的重任。

硬链接和软链接

  • 硬链接: ln ataola zjt,占用空间
  • 软链接: ln -s ataola zjt, 相当与快捷方式,不占空间

压缩与解压缩

tar

  • 将ataola文件压缩称ataola.tar.gz: tar -czvf ataola.tar.gz ataola
  • 将ataola.tar.gz文件解压缩到当前目录: tar -zxvf ataola.tar.gz
    • -c 创建
    • -z gzip压缩
    • -v显示细节
    • -f 文件
    • -x 解压缩

zip

  • 压缩: zip ataola.zip ataola
  • 解压:unzip ataola.zip ataola
  • 加密压缩:zip -re ataola.zip ataola

网络相关

查看网络信息

  • 查看本机网络信息:ip addr
  • 查看本机网络信息:ifconfig

网络通信

  • 检测与外界通信是否正常:ping xxx, 例如:ping zhengjiangtao.cn
  • 查看本机相关端口暴露情况:netstat, 推荐使用netstat -tlunp,显示正在监听的tcp和udp信息,清爽一点。
    • -u (udp): 仅显示udp相关选项
    • -n: 显示全名。
    • -l: 仅列出有在 Listen 的服務状态
    • -p: 显示建立相关链接的程序名
  • 查看TCP UDP相关服务 lsof -i

防火墙

  • 安装:yum install iptables iptables-services -y

  • 开启:service iptables start

  • 关闭:service iptables stop

  • 保存: service iptables save

  • 查看状态:service iptables status

  • 开启某个端口(80为例): iptables -I INPUT -p tcp --dport 80 -j ACCEPT,iptables -I OUTPUT -p tcp --sport 80 -j ACCEPT

  • 关闭某个端口(80为例):iptables -I INPUT -p tcp --dport 80 -j DROP, iptables -I OUTPUT -p tcp --sport 80 -j DROP

    • -I: 将在指定链的指定编号位置插入一个规则
    • -F:清除预设的所有规则
    • -A : 将一个规则添加到链末尾
    • -p tcp: 指定协议为tcp
    • -s: 指定源地址或地址段
    • -j ACCEPT: 允许
    • -j DROP: 拒绝
    • -d: 指定目标地址或地址段
    • -m limit : 限制单位时间访问频率
    • --dport port: 指定目标TCP/IP端口, 如 –dport 80
    • --sport port: 指定来源TCP/IP端口, 如 –dport 80
    • -L -n: 查看防火墙配置信息
    • -L -n --line-number : 显示规则和相应编号
    • -t nat -L: 列出所有NAT链中所有规则
    • INPUT: 处理数据输入包
    • OUTPUT: 处理数据输出包
 ✘  root@ataola  ~/tmp  iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
root@ataola  ~/tmp 
  • 屏蔽某IP: 例如:ptables -A INPUT -p tcp -m tcp -s 218.109.192.109 -j DROP
  • 阻止window蠕虫攻击:iptables -I INPUT -j DROP -p tcp -s 0.0.0.0/0 -m string --algo kmp --string "cmd.exe"
  • 防止SYN洪水攻击:iptables -A INPUT -p tcp --syn -m limit --limit 5/second -j ACCEPT

用户相关

  • 组信息存放位置:/etc/group, 格式:用户组名:密码:用户组ID:组内用户名
  • 添加用户组: groupadd usergroup
    • -g: 自定义组ID, 例如groupadd -g 613 sanguo
  • 修改用户组: groupmod usergroup
    • -g: 修改用户组ID
    • -n: 修改用户组名
  • 删除用户组:groupdel usergroup

用户

  • 用户信息存放位置:/etc/password,格式:用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell

  • 用户密码存放位置: /etc/shadow

  • 添加用户: useradd user

    • -m: 自动创建家目录

    • -g: 指定用户主组

    • -G: 指定用户附加组

    • -u: 指定用户默认uid

    • -c: 添加注释

    • -s: 指定登录后的shell

    • -d: 指定用户登录时的启动目录

    • -n: 取消建立用户同名称组

    • 修改用户密码: passwd user, root用户可以重置其他用户密码

      [caocao@ataola nginx]$ passwd caocao
      passwd: Only root can specify a user name.
      [caocao@ataola nginx]$ passwd
      Changing password for user caocao.
      Changing password for caocao.
      (current) UNIX password:
      New password:
      Retype new password:
      Sorry, passwords do not match.
      New password:
      Retype new password:
      passwd: all authentication tokens updated successfully.
      [caocao@ataola nginx]$
      • -l: 锁定口令,即禁用账号。
      • -u: 口令解锁。
      • -d : 使账号无口令。
      • -f: 强迫用户下次登录时修改口令

    我们来实践下,在三国组下创建用户曹操,指定用户uid为1997,登录的shell为/bin/bash

      root@ataola  ~/tmp  useradd -m -g sanguo -s /bin/bash -u 1997 caocao
    root@ataola  ~/tmp  cat /etc/passwd | grep caocao
    caocao:x:1997:613::/home/caocao:/bin/bash
    root@ataola  ~/tmp 
  • 删除用户:userdel user

    • -r: 连家目录一起删除
  • 切换用户:su user

     ✘  root@ataola  ~/docker/nginx  su caocao
    [caocao@ataola nginx]$ pwd
    /root/docker/nginx
    [caocao@ataola nginx]$

权限问题

这个地方我纠结了一下,到底时放在文件相关还是用户相关讲,最后我选择这里。对于用户而言,其操作一个文件,有可读可写可执行否这么多种可能对吧,那么我们接下来讨论下。

对于一个文件而言,其与用户的关系,不外乎所有者(创建者)、组内成员、其他组或者用户,这里root用户时linux最高权限的用户,简言之,没有它干不了的事。

u g o a
所有者 同组用户 其他组 所有

字母表示

我们来看这样一个例子

  root@ataola  ~  ls -l /home/caocao
total 4
-rw-r--r-- 1 caocao sanguo 0 Jul 18 18:16 a
drwxr-xr-x 3 caocao sanguo 4096 Jul 18 18:17 b
root@ataola  ~ 

单独把b前面的这一坨东西拎出来讲:drwxr-xr-x,

  • 第一个字母d,表示它是一个文件夹,而a第一个字母是-,表示它是一个文件
  • 第一组rwx, 表示其创建者caocao拥有可读可写可执行的权限
  • 第二组r-x: 表示其所在sanguo组其他用户有可读可执行的权限
  • 第三组r-x: 表示其他组或者用户有可读可执行的权限

实践一下

  • 对于a文件给同组用户增加可写可执行权限, chmod g+wx a

    [caocao@ataola ~]$ ls -l
    total 4
    -rwxr--r-- 1 caocao sanguo 0 Jul 18 18:16 a
    drwxr-xr-x 3 caocao sanguo 4096 Jul 18 18:17 b
    [caocao@ataola ~]$ chmod g+wx a
    [caocao@ataola ~]$ ls -l
    total 4
    -rwxrwxr-- 1 caocao sanguo 0 Jul 18 18:16 a
    drwxr-xr-x 3 caocao sanguo 4096 Jul 18 18:17 b
    [caocao@ataola ~]$
  • 之后曹操有点小情绪,决定移除同组的可执权限chmod u-x a

    [caocao@ataola ~]$ chmod g-x a
    [caocao@ataola ~]$ ls -l
    total 4
    -rwxrw-r-- 1 caocao sanguo 0 Jul 18 18:16 a
    drwxr-xr-x 3 caocao sanguo 4096 Jul 18 18:17 b
    [caocao@ataola ~]$
  • 再之后,曹操他疯了,他决定移除自己的可写可执行权限chmod u-wx a

    [caocao@ataola ~]$ chmod u-wx a
    [caocao@ataola ~]$ ls -l
    total 4
    -r--rw-r-- 1 caocao sanguo 0 Jul 18 18:16 a
    drwxr-xr-x 3 caocao sanguo 4096 Jul 18 18:17 b
    [caocao@ataola ~]$

数字表示

​ 除了楼上的字母表示,也是可以用数字进行相关权限设置

字母与数字的对应关系如下:

r w x
4 2 1

那我们接着实践。

  • 曹操后来又自己给自己治好了,决定收回撤销的a文件的可写可执行的权限,并设置其他人都只可读chmod 744 a

    [caocao@ataola ~]$ chmod 744 a
    [caocao@ataola ~]$ ls -l
    total 4
    -rwxr--r-- 1 caocao sanguo 0 Jul 18 18:16 a
    drwxr-xr-x 3 caocao sanguo 4096 Jul 18 18:17 b
    [caocao@ataola ~]$

这里的744, 第一个代表所有者,4 + 2 + 1 = 7。 第二个代表所属组 ,第三个代表其他选手。

更改文件用户组

这里我们创建一个魏国的group,然后将曹操家目录下的b文件夹归属与魏国这个组chgrp weiguo b, 这里如果加个参数-R的话,其内部的所有文件都会跟着变成魏国这个组,而不是三国,执行这个命令的是root用户。

  root@ataola  /home/caocao  ls -l
total 4
-rwxr--r-- 1 caocao sanguo 0 Jul 18 18:16 a
drwxr-xr-x 3 caocao sanguo 4096 Jul 18 18:17 b
root@ataola  /home/caocao  chgrp weiguo b
root@ataola  /home/caocao  ls -l
total 4
-rwxr--r-- 1 caocao sanguo 0 Jul 18 18:16 a
drwxr-xr-x 3 caocao weiguo 4096 Jul 18 18:17 b
root@ataola  /home/caocao 

更改文件所属用户

之后root用户,决定干掉曹操,自己掌管b文件,那么可以这么做chown root b, 相关参数同楼上的chgrp

  root@ataola  /home/caocao  chown root b
root@ataola  /home/caocao  ls -l
total 4
-rwxr--r-- 1 caocao sanguo 0 Jul 18 18:16 a
drwxr-xr-x 3 root weiguo 4096 Jul 18 18:17 b
root@ataola  /home/caocao  ls -l b
total 4
drwxr-xr-x 2 caocao sanguo 4096 Jul 18 18:17 c
root@ataola  /home/caocao 

root用户想了想,狠人做到底,回收了其他人的可读可执行权限chmod o-rx b

  root@ataola  /home/caocao  chmod o-rx b
root@ataola  /home/caocao  ls -l
total 4
-rwxr--r-- 1 caocao sanguo 0 Jul 18 18:16 a
drwxr-x--- 3 root weiguo 4096 Jul 18 18:17 b
root@ataola  /home/caocao 

此时曹操登录后想进入b目录,哈哈,是不可能的了。

[caocao@ataola ~]$ cd b
bash: cd: b: Permission denied
[caocao@ataola ~]$ ls -l
total 4
-rwxr--r-- 1 caocao sanguo 0 Jul 18 18:16 a
drwxr-x--- 3 root weiguo 4096 Jul 18 18:17 b
[caocao@ataola ~]$

进程相关

查看进程(ps)

  • a 显示所有进程
  • -a 显示同一终端下的所有程序
  • -A 显示所有进程
  • c 显示进程的真实名称
  • -N 反向选择
  • -e 等于“-A”
  • e 显示环境变量
  • f 显示程序间的关系
  • -H 显示树状结构
  • r 显示当前终端的进程
  • T 显示当前终端的所有程序
  • u 指定用户的所有进程
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的行程
  • -C<命令> 列出指定命令的状况
  • –lines<行数> 每页显示的行数
  • –width<字符数> 每页显示的字符数
  • –help 显示帮助信息
  • –version 显示版本显示

例如说我要查看docker的相关信息,你可以这样写ps -aux | grep docker | tail, 因为数据量很大,tail就是只看文件尾部。

[caocao@ataola ~]$ ps -aux | grep docker | tail
root 16970 0.0 0.0 264800 428 ? Sl May31 0:03 /usr/bin/docker-containerd-shim-current 0e4ef69c19b981163067ec8af0c38b6fa84c380855c22309a884f0a0ed691912 /var/run/docker/libcontainerd/0e4ef69c19b981163067ec8af0c38b6fa84c380855c22309a884f0a0ed691912 /usr/libexec/docker/docker-runc-current
root 19417 0.0 0.0 188476 1636 ? Sl May31 0:04 /usr/libexec/docker/docker-proxy-current -proto tcp -host-ip 0.0.0.0 -host-port 3307 -container-ip 172.19.0.3 -container-port 3306
root 19422 0.0 0.0 272996 488 ? Sl May31 0:04 /usr/bin/docker-containerd-shim-current 6de60216270a3b6f5bfbe5d94d40fa2449e443eb77b67d4bf005061dd4ff412e /var/run/docker/libcontainerd/6de60216270a3b6f5bfbe5d94d40fa2449e443eb77b67d4bf005061dd4ff412e /usr/libexec/docker/docker-runc-current
root 22621 0.0 0.1 111092 2000 ? Sl Jul14 0:00 /usr/libexec/docker/docker-proxy-current -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.18.0.3 -container-port 80
root 22626 0.0 0.0 272996 1732 ? Sl Jul14 0:00 /usr/bin/docker-containerd-shim-current 52fca7d70916037e865da9ad1dfbf330e39be4a1a72c3a05ba1d862dff8cb563 /var/run/docker/libcontainerd/52fca7d70916037e865da9ad1dfbf330e39be4a1a72c3a05ba1d862dff8cb563 /usr/libexec/docker/docker-runc-current
root 29722 0.0 0.0 110036 1108 ? Sl May30 0:03 /usr/libexec/docker/docker-proxy-current -proto tcp -host-ip 0.0.0.0 -host-port 6379 -container-ip 172.20.0.2 -container-port 6379
root 29727 0.0 0.0 264800 340 ? Sl May30 0:03 /usr/bin/docker-containerd-shim-current 5c8daf272042ad0396924e6cd1f3d936e4c5f0280401861983316707c5ab9e75 /var/run/docker/libcontainerd/5c8daf272042ad0396924e6cd1f3d936e4c5f0280401861983316707c5ab9e75 /usr/libexec/docker/docker-runc-current
root 30185 0.0 0.0 264800 324 ? Sl May30 0:03 /usr/bin/docker-containerd-shim-current 5c8daf272042ad0396924e6cd1f3d936e4c5f0280401861983316707c5ab9e75 /var/run/docker/libcontainerd/5c8daf272042ad0396924e6cd1f3d936e4c5f0280401861983316707c5ab9e75 /usr/libexec/docker/docker-runc-current
root 30607 0.2 1.4 763120 26556 ? Ssl May30 186:57 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --init-path=/usr/libexec/docker/docker-init-current --seccomp-profile=/etc/docker/seccomp.json --selinux-enabled --log-driver=journald --signature-verification=false --storage-driver overlay2
root 30612 0.0 0.2 501356 4432 ? Ssl May30 41:51 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc --runtime-args --systemd-cgroup=true
[caocao@ataola ~]$

当然啦,根据上面的命令参数,你也可以ps -ef | grep mysql,打出mysql的相关信息

[caocao@ataola ~]$ ps -ef | grep mysql
1001 3471 3455 0 May30 ? 03:38:23 mysqld --wsrep_start_position=52a382bb-a27b-11ea-867f-c364b5a6fb0a:18
caocao 5928 16797 0 19:05 pts/0 00:00:00 grep --color=auto mysql
1001 6247 6231 0 May30 ? 03:38:57 mysqld
1001 7553 7537 0 May30 ? 03:38:59 mysqld
1001 8697 8679 0 May30 ? 03:38:07 mysqld
1001 19439 19422 0 May31 ? 03:33:23 mysqld --wsrep_start_position=52a382bb-a27b-11ea-867f-c364b5a6fb0a:23
[caocao@ataola ~]$

杀掉进程(kill)

根据查看进程得到的最前面的pid,杀掉一个进程是kill xxx, 例如杀掉mysqld的pid为1001的进程kill 1001, 可能运气不好会有杀不掉的情况,kill -9 xxx,强制杀掉,慎用。

内存CPU和硬盘相关

内存

  • 粗略 free

    [caocao@ataola ~]$ free
    total used free shared buff/cache available
    Mem: 1882192 454268 69256 2212 1358668 1238236
    Swap: 4194300 1242368 2951932
    [caocao@ataola ~]$
  • 详细 /proc/meminfo这个文件里面,太长了,这里就显示最后十行意思下

    [caocao@ataola ~]$ tail -10 /proc/meminfo
    AnonHugePages: 4096 kB
    CmaTotal: 0 kB
    CmaFree: 0 kB
    HugePages_Total: 0
    HugePages_Free: 0
    HugePages_Rsvd: 0
    HugePages_Surp: 0
    Hugepagesize: 2048 kB
    DirectMap4k: 88056 kB
    DirectMap2M: 2009088 kB
    [caocao@ataola ~]$

CPU

  • 查看cpu详细信息: cat /proc/cpuinfo

    [caocao@ataola ~]$ cat /proc/cpuinfo
    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 79
    model name : Intel(R) Xeon(R) CPU E5-26xx v4
    stepping : 1
    microcode : 0x1
    cpu MHz : 2394.454
    cache size : 4096 KB
    physical id : 0
    siblings : 1
    core id : 0
    cpu cores : 1
    apicid : 0
    initial apicid : 0
    fpu : yes
    fpu_exception : yes
    cpuid level : 13
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch bmi1 avx2 bmi2 rdseed adx xsaveopt
    bogomips : 4788.90
    clflush size : 64
    cache_alignment : 64
    address sizes : 40 bits physical, 48 bits virtual
    power management: [caocao@ataola ~]$

硬盘

查看硬盘使用情况df

[caocao@ataola ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 930176 0 930176 0% /dev
tmpfs 941096 24 941072 1% /dev/shm
tmpfs 941096 2224 938872 1% /run
tmpfs 941096 0 941096 0% /sys/fs/cgroup
/dev/vda1 51473868 14918560 34358064 31% /
tmpfs 188220 0 188220 0% /run/user/0
[caocao@ataola ~]$

综合查看(vmstat)

[caocao@ataola ~]$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 1242368 85884 103628 1240960 0 0 13 42 5 6 2 3 95 0 0
[caocao@ataola ~]$

实时查看(top)

top - 19:16:16 up 52 days, 18:17,  3 users,  load average: 0.58, 0.23, 0.25
Tasks: 149 total, 1 running, 148 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.0 us, 3.0 sy, 0.0 ni, 93.6 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem : 1882192 total, 82052 free, 454844 used, 1345296 buff/cache
KiB Swap: 4194300 total, 2951932 free, 1242368 used. 1237660 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6247 1001 20 0 1385620 37224 1844 S 0.7 2.0 218:59.15 mysqld
7553 1001 20 0 1385644 38936 1860 S 0.7 2.1 219:01.83 mysqld
16104 polkitd 20 0 1583856 72124 4756 S 0.7 3.8 28:45.69 mongod
3471 1001 20 0 1414336 28812 2684 S 0.3 1.5 218:25.69 mysqld
7924 root 20 0 35632 3088 720 S 0.3 0.2 116:41.86 redis-server
8249 root 20 0 33464 2096 748 S 0.3 0.1 113:38.97 redis-server
8631 root 20 0 33464 1616 708 S 0.3 0.1 111:53.89 redis-server
10370 root 20 0 160080 8448 1384 S 0.3 0.4 60:37.62 barad_agent
10371 root 20 0 677032 8004 1492 S 0.3 0.4 344:28.10 barad_agent
19439 1001 20 0 1394932 22712 2656 S 0.3 1.2 213:25.65 mysqld

环境变量相关

临时

直接命令行里敲export xxx, 例如

[caocao@ataola ~]$ export NODE_ENV=production
[caocao@ataola ~]$ echo $NODE_ENV
production
[caocao@ataola ~]$

setunset也是可以的。

永久

  • /etc/profile: 对所有用户生效
  • .bashrc | .zshrc | .bash.profile: 对当前用户生效

问题思考

如果我把一个组删了,但是这个组里面有用户,是不是意味着他们将成为僵尸用户?

怎么可能。。。它会提示你先清用户,有用户就删不掉

  root@ataola  /home/caocao  groupdel sanguo
groupdel: cannot remove the primary group of user 'caocao'
✘ root@ataola  /home/caocao  ls /

创建用户不指定组,默认行为是什么?

如果不指定,默认创建一个和用户相同名字的组

使用useradd 命令,用户有哪些可以解析器shell(-s 后面可以跟哪些选择)?

/bin/zsh
/bin/bash
/sbin/nologin

这里/sbin/nologin就是不让其登录,没有登录权限

参考文献

iptables命令:https://wangchujiang.com/linux-command/c/iptables.html

ps 进程查看器: https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/ps.html


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

Linux常用命令归类总结的更多相关文章

  1. Linux常用命令(一)

    Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

  2. linux常用命令的介绍

    本文主要介绍Linux常用命令工具,比如用户创建,删除,文件管理,常见的网络命令等 如何创建账号: 1. 创建用户 useradd -m username -m 表示会在/home 路径下添加创建用户 ...

  3. linux——常用命令与脚本

    linux常用命令 --文件管理pwd --查看当前目录cd --切换当前目录ls --列出当前目录下的所有文件touch --创建文件mkdir --建立目录rmdir --删除空目录rm --删除 ...

  4. DOS 和 Linux 常用命令的对比

    DOS 和 Linux 常用命令的对比 许多在 shell 提示下键入的 Linux命令都与你在 DOS 下键入的命令相似.事实上,某些命令完全相同. 本附录提供了 Windows的 DOS 提示下的 ...

  5. 第一章,Linux常用命令

    20161124 Linux常用命令1.find find /etc/ -size +50k -lsfind /etc/ -size +50k -ls 2> /dev/null查看目录下大于50 ...

  6. linux 常用命令大全

    linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...

  7. Linux 常用命令行

    Linux常用命令行 第一部分: cd命令 第二部分:文件操作 第三部分:压缩包操作

  8. [工作需求]linux常用命令以及vim常用命令

    一.             Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...

  9. 对于我的linux常用命令的说明

    我所列出的linux常用命令中的选项并不是全部的选项,是一些我们经常用到的linux命令及选项

随机推荐

  1. 小师妹学JVM之:JIT中的LogCompilation

    目录 简介 LogCompilation简介 LogCompilation的使用 解析LogCompilation文件 总结 简介 我们知道在JVM中为了加快编译速度,引入了JIT即时编译的功能.那么 ...

  2. FreeSql 使用 ToTreeList/AsTreeCte 查询无限级分类表

    关于无限级分类 第一种方案: 使用递归算法,也是使用频率最多的,大部分开源程序也是这么处理,不过一般都只用到四级分类. 这种算法的数据库结构设计最为简单.category表中一个字段id,一个字段fi ...

  3. jmeter跨线程组获取cookie或jmeter线程组共享cookie-笔者亲测

    一.Jmeter版本 此次示例采用的是apache-jmeter-5.2.1版本 二.设置配置文件使Cookie管理器保存cookie信息. 修改apache-jmeter-5.2.1/bin/jme ...

  4. STL初步学习(queue,deque)

    4.queue queue就是队列,平时用得非常多.栈的操作是只能是先进先出,与栈不同,是先进后出,与之后的deque也有区别.个人感觉手写队列有点麻烦,有什么head和tail什么的,所以说 STL ...

  5. 异常重试框架Spring Retry实践

    前期准备在Maven项目中添加Spring Retry和切面的依赖 POM: <!-- Spring Retry --> <dependency> <groupId> ...

  6. (私人收藏)java实例、知识点、面试题、SHH、Spring、算法、图书管理系统、综合参考

    https://pan.baidu.com/s/1hkmgJU6pf2sBjNV1NlOaNgr6l2 Java趣味编程100例java经典选择题100例及答案java面试题大全java排序算法大全j ...

  7. 面试之Hashtable和ConcurrentHashMap

    那么要如何保证HashMap的线程安全呢? 方法有很多,比如使用Hashtable或者Collections.synchronizedMap,但是这两位选手都有一个共同的问题:性能.因为不管是读还是写 ...

  8. 线性DP之免费馅饼

    题目 思路 线性DP,思路很容易就能想到,f[i][k]数组定义为第i秒在k位置时从上一位置j转移过来的最优解,易得f[i][k]=max(f[i][k],f[i-1][j]+search(i,k)) ...

  9. JS中同步和异步

    首先,我们要知道,JavaScript的本质是一门浏览器脚本语言,在执行的时候是一行一行的执行,只有前面的代码执行完了才会执行后面的代码.JS是单线程语言指的就是这个意思. 同步和异步其实在进行任务执 ...

  10. selenium 怎么查找定位鼠标移上去显示,移开鼠标就消失的内容

    场景:鼠标移动到一级菜单上二级菜单才显示,移开鼠标二级菜单就消失,如何查找定位二级菜单 操作: 1.打开F12,点击sources 2.鼠标移动到一级菜单“工单管理” 3.按下键盘“Ctrl+\”,暂 ...