day04 - linux常用命令、目录说明以及ubuntu解锁root用户,安装tree命令

echo abcdefg >> aa.txt      //向aa.txt文件末尾追加 abcdefg 字符串
1 基础命令: 2 clear //清屏 3 4 whoami //查看当前所登录的用户 5 6 who //Print information about users who are currently(目前) logged in. 7 SYNOPSIS(摘要): who [OPTION]... [ FILE | ARG1 ARG2 ] 8 DESCRIPTION(描述): Print information about users who are currently(目前) logged in. 9 10 11 date: //Display the current time in the given FORMAT, or set the system date. 12 date [OPTION]... [+FORMAT]:显示 13 FORMAT: 格式符号 14 %D 15 %F 16 %T 17 date [MMDDhhmm[[CC]YY][.ss]]:设置 18 MM: 月分 19 DD:几号 20 hh: 小时 21 mm: 分钟 22 YY: 两位年份 23 CCYY: 四位年份 24 .ss: 秒钟 25 26 Linux的两种时钟: 27 系统时钟:由Linux内核通过CPU的工作频率进行的计时; 28 硬件时钟: 29 30 hwclock: 显示硬件时钟 31 -s, --hctosys 32 -w, --systohc 33 34 cal:日历 35 36 目录相关的命令: 37 当前目录或工作目录 38 主目录,家目录:HOME 39 root: /root 40 普通用户:/home/USERNAME 41 /home/tom 42 43 ~:用户的主目录 44 45 cd: 46 cd 或 cd ~: 回当前用户的主目录 47 cd ~USERNAME: 切换至指定用户的主目录 48 cd -: 在上一个目录和当前目录之间来回切换 49 50 . 51 .. 52 53 相关的环境变量: 54 PWD:保存了当前目录路径; 55 OLDPWD:上一次所在目录路径; 56 57 pwd: 显示当前目录 58 59 ls: list 60 显示指定路径下的文件列表; 61 62 ls [OPTION]... [DIR]... 63 -a, --all: 显示所有文件,包括隐藏文件; 64 -l: 长格式 65 -rw-r--r-- 1 root root 44800 Aug 14 14:32 install.log 66 -rw-r--r--: 67 最左侧的第一位:文件类型 68 -, d, l, b, c, p, s 69 后面的9位:访问权限,perm 70 数字:文件被硬链接的次数; 71 左root: 文件的owner 72 右root: 文件的group 73 44800:文件的size 74 Aug 14 14:32 : 文件的最近一次被修改的时间 75 install.log: 文件名 76 -h, --human-readable:单位换算 77 -d: 显示目录自身的相关属性;通常要与-l一起使用; 78 -r, --reverse: 逆序显示 79 -R, --recursive: 递归 80 81 82 83 stat /PATH/TO/SOMEFILE:获取指定文件的元数据 84 85 文件查看命令:cat, tac 86 cat [OPTION]... [FILE]... 87 -E: 显示行结束符$ 88 -n: 对显示出的每一行进行编号 89 90 文件内容类型查看命令:file 91 file /PATH/TO/SOMEWHERE 92 93 回显命令:echo 94 -n: 禁止自动添加换行符号; 95 -e: 允许使用转义符; 96 \n: 换行 97 \t: 制表符 98 99 echo "$VAR_NAME": 变量会替换,双引号表弱引用 100 echo '$VAR_NAME': 变量不会替换,强引用 101 102 which:显示命令对应的程序文件路径 103 which [OPTION] COMMAND 104 --skip-alias:禁止显示别名 105 106 whatis: 107 使用mkwhatis命令可将当前系统上所有的帮助手册及与之对应的关键字创建为一个数据库; 108 109 系统管理类命令: 110 关机: 111 halt, poweroff, shutdown, init 0 112 重启: 113 reboot, shutdown, init 6 114 跟用户登录相关: 115 who, whoami, w 116 117 目录管理类命令: 118 cd, pwd, ls 119 120 mkdir, rmdir, tree 121 122 mkdir [options] /path/to/somewhere 123 -p: 存在于不报错,且可自动创建所需的各目录; 124 -v: 显示详细信息 125 -m MODE: 创建目录时直接指定权限; 126 127 tree: 128 -d: 只显示目录 129 -L level:指定显示的层级数目 130 -P pattern: 只显示由指定pattern匹配到的路径; 131 132 rmdir:删除空目录 133 rmdir [OPTION]... DIRECTORY... 134 -v: 显示过程; 135 136 文本文件查看类命令: 137 cat, tac 138 more, less, tail, head 139 140 more 141 more [OPTIONS...] FILE... 142 -d: 显示翻页及退出提示 143 144 less 145 less [OPTIONS...] FILE... 146 147 head 148 head [OPTION]... [FILE]... 149 -c #: 指定获取前#字节 150 -n #: 指定获取前#行 151 -#: 152 153 tail 154 tail [OPTION]... [FILE]... 155 -c #: 指定获取后#字节 156 -n #: 指定获取后#行 157 -#: 158 -f: 跟踪显示文件新追加的内容; 159 160 文件的时间戳管理工具: 161 touch 162 163 文件:metadata, data 164 查看文件状态:stat 165 166 三个时间戳: 167 access time:访问时间,简写为atime,读取文件内容 168 modify time: 修改时间, mtime,改变文件内容(数据) 169 change time: 改变时间, ctime,元数据发生改变 170 171 touch命令: 172 touch [OPTION]... FILE... 173 -a: only atime 174 -m: only mtime 175 -t STAMP: 176 [[CC]YY]MMDDhhmm[.ss] 177 -c: 如果文件不存,则不予创建 178 179 180 文件管理: 181 cp, mv, rm 182 183 复制命令:cp 184 cp [OPTION]... [-T] SOURCE DEST 185 cp [OPTION]... SOURCE... DIRECTORY 186 cp [OPTION]... -t DIRECTORY SOURCE... 187 188 cp SRC DEST 189 SRC是文件: 190 如果目标不存在:新建DEST,并将SRC中内容填充至DEST中; 191 如果目录存在: 192 如果DEST是文件:将SRC中的内容覆盖至DEST中; 193 此时建议为cp命令使用-i选项; 194 如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中; 195 196 cp SRC... DEST 197 SRC...:多个文件 198 DEST必须存在,且为目录,其它情形均会出错; 199 200 cp SRC DEST 201 SRC是目录: 202 此时使用选项:-r 203 204 如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中; 205 如果DEST存在: 206 如果DEST是文件:报错 207 如果DEST是目录: 208 209 常用选项: 210 -i:交互式 211 -r, -R: 递归复制目录及内部的所有内容; 212 -a: 归档,相当于-dR --preserv=all 213 -d:--no-dereference --preserv=links 214 --preserv[=ATTR_LIST] 215 mode: 权限 216 ownership: 属主属组 217 timestamp: 218 links 219 xattr 220 context 221 all 222 -p: --preserv=mode,ownership,timestamp 223 -v: --verbose 224 -f: --force 225 226 mv: move,移动文件 227 mv [OPTION]... [-T] SOURCE DEST 228 mv [OPTION]... SOURCE... DIRECTORY 229 mv [OPTION]... -t DIRECTORY SOURCE... 230 231 常用选项: 232 -i: 交互式 233 -f: 强制 234 235 rm: remove,删除 236 rm [OPTION]... FILE... 237 238 常用选项: 239 -i: 交互式 240 -f: 强制删除 241 -r: 递归 242 243 rm -rf 244 245 文本编辑器:nano 246 全屏编辑器 247 248 输出重定向:COMMAND > NEW_POS, COMMAND >> NEW_POS 249 >:覆盖重定向,目标文件中的原有内容会被清除; 250 >>: 追加重定向,新内容会追加至目标文件尾部; 251 252 # set -C: 禁止将内容覆盖输出至已有文件中; 253 强制覆盖:>| 254 # set +C: 255 256 2>: 覆盖重定向错误输出数据流; 257 2>>: 追加重定向错误输出数据流; 258 259 标准输出和错误输出各自定向至不同位置: 260 COMMAND > /path/to/file.out 2> /path/to/error.out 261 262 合并标准输出和错误输出为同一个数据流进行重定向: 263 &>:覆盖重定向 264 &>>:追加重定向 265 266 COMMAND > /path/to/file.out 2> &1 267 COMMAND >> /path/to/file.out 2>> &1 268 269 输入重定向:< 270 271 tr命令:转换或删除字符 272 tr [OPTION]... SET1 [SET2] 273 274 HERE Documentation:<< 275 # cat << EOF 276 # cat > /path/to/somefile << EOF 277 278 管道: 279 COMMAND1 | COMMAND2 | COMMAND3 |... 280 281 Note:最后一个命令会在当前shell进程的子shell进程中执行; 282 283 tee命令: 284 tee [OPTION]... [FILE]... 285 286 用户创建:useradd 287 useradd [options] LOGIN 288 -u UID: [UID_MIN, UID_MAX], 定义在/etc/login.defs 289 -g GID:指明用户所属基本组,可为组名,也可以GID; 290 -c "COMMENT":用户的注释信息; 291 -d /PATH/TO/HOME_DIR: 以指定的路径为家目录; 292 -s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中; 293 -G GROUP1[,GROUP2,...[,GROUPN]]]:为用户指明附加组;组必须事先存在; 294 -r: 创建系统用户 295 CentOS 6: ID<500 296 CentOS 7: ID<1000 297 298 默认值设定:/etc/default/useradd文件中 299 useradd -D 300 -s SHELL 301 302 组创建:groupadd 303 groupadd [OPTION]... group_name 304 305 -g GID: 指明GID号;[GID_MIN, GID_MAX] 306 -r: 创建系统组; 307 CentOS 6: ID<500 308 CentOS 7: ID<1000 309 310 查看用户相关的ID信息:id 311 id [OPTION]... [USER] 312 -u: UID 313 -g: GID 314 -G: Groups 315 -n: Name 316 317 切换用户或以其他用户身份执行命令:su 318 su [options...] [-] [user [args...]] 319 320 切换用户的方式: 321 su UserName:非登录式切换,即不会读取目标用户的配置文件; 322 su - UserName:登录式切换,会读取目标用户的配置文件;完全切换; 323 324 Note:root su至其他用户无须密码;非root用户切换时需要密码; 325 326 换个身份执行命令: 327 su [-] UserName -c 'COMMAND' 328 329 选项: 330 -l:“su -l UserName”相当于“su - UserName” 331 332 用户属性修改:usermod 333 usermod [OPTION] login 334 335 -u UID: 新UID 336 -g GID: 新基本组 337 -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append; 338 -s SHELL:新的默认SHELL; 339 -c 'COMMENT':新的注释信息; 340 -d HOME: 新的家目录;原有家目录中的文件不会同时移动至新的家目录;若要移动,则同时使用-m选项; 341 -l login_name: 新的名字; 342 343 -L: lock指定用户 344 -U: unlock指定用户 345 346 -e YYYY-MM-DD: 指明用户账号过期日期; 347 -f INACTIVE: 设定非活动期限; 348 349 给用户添加密码:passwd 350 passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限 351 passwd: 修改自己的密码; 352 353 常用选项: 354 -l: 锁定指定用户 355 -u: 解锁指定用户 356 357 -n mindays: 指定最短使用期限 358 -x maxdays:最大使用期限 359 -w warndays:提前多少天开始警告 360 -i inactivedays:非活动期限; 361 362 --stdin:从标准输入接收用户密码; 363 echo "PASSWORD" | passwd --stdin USERNAME 364 365 Note: /dev/null, bit buckets 366 /dev/zero, 367 368 删除用户:userdel 369 userdel [OPTION]... login 370 -r: 删除用户家目录; 371 372 组属性修改:groupmod 373 groupmod [OPTION]... group 374 -n group_name: 新名字 375 -g GID: 新的GID; 376 377 组删除:groupdel 378 groupdel GROUP 379 380 组密码:gpasswd 381 gpasswd [OPTION] GROUP 382 383 -a user: 将user添加至指定组中; 384 -d user: 删除用户user的以当前组为组名的附加组 385 386 -A user1,user2,...: 设置有管理权限的用户列表 387 388 newgrp命令:临时切换基本组; 389 如果用户本不属于此组,则需要组密码; 390 391 修改用户属性:chage 392 chage [OPTION]... LOGIN 393 -d LAST_DAY 394 -E, --expiredate EXPIRE_DATE 395 -I, --inactive INACTIVE 396 -m, --mindays MIN_DAYS 397 -M, --maxdays MAX_DAYS 398 -W, --warndays WARN_DAYS 399 400 401 权限管理: 402 403 文件的权限主要针对三类对象进行定义: 404 owner: 属主, u 405 group: 属组, g 406 other: 其他, o 407 408 每个文件针对每类访问者都定义了三种权限: 409 r: Readable 410 w: Writable 411 x: eXcutable 412 413 文件: 414 r: 可使用文件查看类工具获取其内容; 415 w: 可修改其内容; 416 x: 可以把此文件提请内核启动为一个进程; 417 418 目录: 419 r: 可以使用ls查看此目录中文件列表; 420 w: 可在此目录中创建文件,也可删除此目录中的文件; 421 x: 可以使用ls -l查看此目录中文件列表,可以cd进入此目录; 422 423 --- 000 0 424 --x 001 1 425 -w- 010 2 426 -wx 011 3 427 r-- 100 4 428 r-x 101 5 429 rw- 110 6 430 rwx 111 7 431 432 例如: 433 640: rw-r----- 434 rwxr-xr-x: 755 435 436 修改文件权限:chmod 437 chmod [OPTION]... OCTAL-MODE FILE... 438 439 -R: 递归修改权限 440 441 chmod [OPTION]... MODE[,MODE]... FILE... 442 MODE: 443 修改一类用户的所有权限: 444 u= 445 g= 446 o= 447 ug= 448 a= 449 u=,g= 450 451 修改一类用户某位或某些位权限 452 u+ 453 u- 454 455 chmod [OPTION]... --reference=RFILE FILE... 456 参考RFILE文件的权限,将FILE的修改为同RFILE; 457 458 修改文件的属主和属组: 459 仅root可用; 460 461 修改文件的属主:chown 462 chown [OPTION]... [OWNER][:[GROUP]] FILE... 463 464 用法: 465 OWNER 466 OWNER:GROUP 467 :GROUP 468 469 Note: 命令中的冒号可用.替换; 470 471 -R: 递归 472 473 chown [OPTION]... --reference=RFILE FILE... 474 475 修改文件的属组:chgrp 476 chgrp [OPTION]... GROUP FILE... 477 chgrp [OPTION]... --reference=RFILE FILE... 478 479 -R 480 481 文件或目录创建时的遮罩码:umask 482 FILE: 666-umask 483 Note: 如果某类的用户的权限减得的结果中存在x权限,则将其权限+1 484 DIR: 777-umask 485 486 umask: 查看 487 umask #: 设定

目录说明

 1 Linux的文件系统:
 2     根文件系统(rootfs):
 3         root filesystem
 4 
 5     LSB, FHS: (FileSystem Heirache Standard)
 6         /etc, /usr, /var, /root, /home, /dev
 7 
 8         /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录;
 9         /bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序;
10         /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序;
11         /lib:基本共享库文件,以及内核模块文件(/lib/modules);
12         /lib64:专用于x86_64系统上的辅助共享库文件存放位置;
13         /etc:配置文件目录(纯文本文件);
14         /home/USERNAME:普通用户家目录;
15         /root:管理员的家目录;
16         /media:便携式移动设备挂载点;
17             cdrom
18             usb
19         /mnt:临时文件系统挂载点;
20         /dev:设备文件及特殊文件存储位置;
21             b: block device,随机访问
22             c: character device,线性访问
23         /opt:第三方应用程序的安装位置;
24         /srv:系统上运行的服务用到的数据;
25         /tmp:临时文件存储位置;
26         /usr: universal shared, read-only data;
27             bin: 保证系统拥有完整功能而提供的应用程序;
28             sbin:
29             lib:
30             lib64:
31             include: C程序的头文件(header files);
32             share:结构化独立的数据,例如doc, man等;
33             local:第三方应用程序的安装位置;
34                 bin, sbin, lib, lib64, etc, share
35 
36         /var: variable data files
37             cache: 应用程序缓存数据目录;
38             lib: 应用程序状态信息数据;
39             local:专用于为/usr/local下的应用程序存储可变数据;
40             lock: 锁文件
41             log: 日志目录及文件;
42             opt: 专用于为/opt下的应用程序存储可变数据;
43             run: 运行中的进程相关的数据;通常用于存储进程的pid文件;
44             spool: 应用程序数据池;
45             tmp: 保存系统两次重启之间产生的临时数据;
46 
47         /proc: 用于输出内核与进程信息相关的虚拟文件系统;
48         /sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统;
49         /selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置;
50 
51     Linux上的应用程序的组成部分:
52         二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
53         库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
54         配置文件:/etc, /etc/DIRECTORY, /usr/local/etc
55         帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc
56 
57     Linux下的文件类型:
58         - (f):普通文件;
59         d: 目录文件;
60         b: 块设备;
61         c: 字符设备;
62         l: 符号链接文件;
63         p: 管道文件;
64         s: 套接字文件;socket; 

其它说明:ubuntu开启root用户、安装tree命令

 1 ubuntu开启root用户
 2 ubuntu的root用户默认是禁止的,需要手动打开才行 
 3 事实上ubuntu下的所有操作都用不到root用户,由于sudo的合理使用,避免了root用户下误操作而产生的毁灭性问题 
 4 root账号启用方法(其实我个人认为这没有多大必要):
 5 执行下面的操作:
 6 1.先解除root锁定,为root用户设置密码
 7 打开终端输入:sudo passwd
 8 Password: <--- 输入你当前用户的密码
 9 Enter new UNIX password: <--- 新的Root用户密码
10 Retype new UNIX password: <--- 重复新的Root用户密码
11 passwd:已成功更新密码
12 2、更改登陆,允许root登录
13 打开 系统>系统管理>登录窗口)
14 点“安全”选项页,选择“允许本地管理员登录”。
15 3、注销当前用户,以root登陆
16 如果要再次禁用 root 帐号,那么可以执行 sudo passwd -l root。
17 
18 ubuntu系统中默认是没有tree这个命令的,需要安装,用下面的命令就可以安装tree这个命令工具sudo apt-get install tree
19 CentOS使用yum -y install tree