HOME/Articles/

Linux 常用命令

Article Outline

null

<center>Photo by <a style="background-color:black;color:white;text-decoration:none;padding:4px 6px;font-family:-apple-system, BlinkMacSystemFont, &quot;San Francisco&quot;, &quot;Helvetica Neue&quot;, Helvetica, Ubuntu, Roboto, Noto, &quot;Segoe UI&quot;, Arial, sans-serif;font-size:12px;font-weight:bold;line-height:1.2;display:inline-block;border-radius:3px" href="https://unsplash.com/photos/9zzYRBLLnSk" target="_blank" rel="noopener noreferrer" title="Download free do whatever you want high-resolution photos from Andreas Strandman "><span style="display:inline-block;padding:2px 3px"><svg xmlns="http://www.w3.org/2000/svg" style="height:12px;width:auto;position:relative;vertical-align:middle;top:-2px;fill:white" viewBox="0 0 32 32"><title>unsplash-logo</title><path d="M10 9V0h12v9H10zm12 5h10v18H0V14h10v9h12v-9z"></path></svg></span><span style="display:inline-block;padding:2px 3px">Andreas Strandman</span></a></center>

<!-- @import "[TOC]" {cmd="toc" depthFrom=1 depthTo=6 orderedList=false} -->

<!-- code_chunk_output -->

<!-- /code_chunk_output -->

系统操作

ls

ls [-alrtR] [file ...]
  • -a     显示所有文件及目录 (. 开头的隐藏文件不会列出)
  • -l     详细信息
  • -r     将文件以逆序显示(默认英文字母次序)
  • -t     按文件修改时间排序显示
  • -R     多级目录显示
  • -h     兆形式显示

cd

cd [dirName]
  • cd ~     跳回home目录
  • cd ../..     跳回上上级目录
  • cd -      返回之前目录

mkdir

mkdir [-p] dirName
  • -p      完整路径或多个文件夹
  • -v     verbose

cp

cp [option] source_file target_file
  • -a     此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合
  • -f     覆盖已经存在的目标文件而不给出提示
  • -r     复制文件件夹
  • -p     除复制文件的内容外,还把修改时间和访问权限也复制到新文件中
  • *     目录下所有文件
  • ?     复制具有一定规律文件名

mv

mv [options] source target_file
mv flie1 flie2  |  将 file1 改名为 file2
mv /home/file1 /root/file2   |   将file1移动到 root 并改名为 flie2
  • -f     如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。

rm

rm [options] file...
  • -r 删除目录(包括目录下所有文件)
  • -f 删除文件不进行提示

文本查看命令

  • cat 文件内容显示到终端
  • head 查看文件开头
  • tail 查看文件结尾
    • -f 文件更新后同步更新
  • wc 统计文件内容信息
    • -l 行数 ```
  • 数字

打包压缩和解压缩

tar cf file /home/file.tar  |   file 打包到 /home 命名为flie.tar
tar czf file file.tar   |   打包并压缩
tar xf file.tar file    |   解压缩

用户和用户组管理和密码管理

useradd [username]    | 创建用户
id [username]         | 显示用户信息
userdel -r [username] | 删除用户
passwd [username]     | 更改用户密码
usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]
  • c<备注>  修改用户帐号的备注文字。
  • -d登入目录>  修改用户登入时的目录。
  • -e<有效期限>  修改帐号的有效期限。
  • -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
  • -g<群组>  修改用户所属的群组。
  • -G<群组>  修改用户所属的附加群组。
  • -l<帐号名称>  修改用户帐号名称。
  • -L  锁定用户密码,使密码无效。
  • -s<shell>  修改用户登入后所使用的shell。
  • -u<uid>  修改用户ID。
  • -U  解除密码锁定。
change
groupadd [GroupName]                | 创建组
usemod -g [GroupName] [UserName]    | 将用户添加到组
useadd -g [GroupName] [UseName]     | 创建用户时给予组
groupdel [GroupName]                | 删除组
su -[UserName]                      | 切换用户

Note:

  • 创建用户位置: /home/[username]
  • /etc/passwd && /etc/shadow && /etc/group

su 和 sudo区别

su
  • su - [UserName] 使用 login shell 方式切换用户
    sudo
  • visudo 设置需要使用 sudo 用户组

修改权限命令

chmod
  • chmod u+x /tmp/testfile
  • chmod 755 /tmp/testfile
    chown     更改属主, 属组
    chgrp     可以单独更改属组(不常用)

vim

正常模式

插入模式

命令模式

可视模式