Linux 之 Linux/Ubuntu 中开发操作中常用的命令整理

Linux 之 Linux/Ubuntu 中开发操作中常用的命令整理

目录

Linux 之 Linux/Ubuntu 中开发操作中常用的命令整理

一、简单介绍

二、常用命令

1、 打开终端 :Ctrl + Alt + T

2、退出终端:exit

3、查看安装 Ubuntu 版本/显示系统等信息:uname 、uname -v 或者 uname -a

 4、显示当前文件夹文件信息:ls 、ls -l

5、修改文件权限:chmod xxx 文件名

6、关闭、重启 Ubuntu 虚拟机:poweroff、reboot

 7、拷贝文件到指定目录命令:cp /xx/文件名 /xxx/xxxx

8、终端清屏命令:clear

9、终止命令:Ctrl + C

10、删除文件/文件夹:rm 文件名 、rm -d 文件夹

11、获取 ip 地址:ifconfig

12、获取当前文件夹绝对路径:pwd

 13、切换文件目录命令:cd 文件目录

14、终端命令补齐快捷键:tab

15、查看文件内容:cat 文件名

16、获得root 超级权限:sudo

 17、切换 root 超级用户:sudo su

 18、root 切换为普通用户:sudo su 用户名

 19、创建文件命令:touch 文件名

 20、移动文件到指定目录:mv 要移动的文件路径 目标目录文件夹

21、删除文件或文件夹、删除当前文件夹下所有文件:rm 文件名、rm -r 文件夹、rm *

22、重命名文件:mv 文件名 新文件名

 23、开启、关闭指定网卡:ifconfig 网卡名 up、ifconfig 网卡名 down

 24、查看命令的帮助信息/更多使用:--help

 25、查看帮助手册,查看函数用法:man 函数名

 26、数据同步写入磁盘命令:sync

 27、查找指定文件所在路径:find -name 文件名

 28、查看文件夹大小的命令:du 文件夹 -sh、du

29、 磁盘空间检查命令:df

 30、使用 gedit 打开文件进行编辑:gedit ./Test/test.txt

 31、查看当前系统进程命令:ps、ps -au、ps -aux

 32、进程实时运行状态查看命令:top

 33、文件类型查看命令:file  文件名

 34、查找内容命令:grep -nr 要查找的内容 文件夹、grep -n 要查找的内容 文件名

35、修改文件所属用户、用户组:chown 用户.用户组 文件名

36、显示程序运行消耗的时间及系统资源等资讯的命令:time 运行程序

37、树状格式列出目录文件夹的内容结构:tree 文件夹


一、简单介绍

Linux/Ubuntu 开发的一些知识整理,方便后期遇到类似的问题,能够及时查阅使用。

本节介绍,Linux/Ubuntu 中开发操作中常用的命令整理。如果有不足之处,欢迎指出,或者你有更好的方法,欢迎留言。

    Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

    Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu"一词,意思是“人性”“我的存在是因为大家的存在",是非洲传统的一种价值观。Ubuntu基于Debian发行版和Gnome桌面环境,而从11.04版起,Ubuntu发行版放弃了Gnome桌面环境,改为Unity。从前人们认为Linux难以安装、难以使用,在Ubuntu出现后这些都成为了历史。Ubuntu也拥有庞大的社区力量,用户可以方便地从社区获得帮助。 [1]  自Ubuntu 18.04 LTS起,Ubuntu发行版又重新开始使用GNOME3桌面环境。

案例操作环境:

1、windows 10

2、ubuntu 16.04
 

二、常用命令

1、 打开终端 :Ctrl + Alt + T

2、退出终端:exit

3、查看安装 Ubuntu 版本/显示系统等信息:uname 、uname -v 或者 uname -a

  • -a或--all  显示全部的信息。
  • -m或--machine  显示电脑类型。
  • -n或--nodename  显示在网络上的主机名称。
  • -r或--release  显示操作系统的发行编号。
  • -s或--sysname  显示操作系统名称。
  • -v  显示操作系统的版本。
  • --help  显示帮助。
  • --version  显示版本信息。

 4、显示当前文件夹文件信息:ls 、ls -l

ls 后面参数说明:

 -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
 -b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
 -c 输出文件的 i 节点的修改时间,并以此排序。
 -d 将目录象文件一样显示,而不是显示其下的文件。
 -e 输出时间的全部信息,而不是输出简略信息。
 -f -U 对输出的文件不排序。
 -g 无用。
 -i 输出文件的 i 节点的索引信息。
 -k 以 k 字节的形式表示文件的大小。
 -l 列出文件的详细信息。
 -m 横向输出文件名,并以“,”作分格符。
 -n 用数字的 UID,GID 代替名称。
 -o 显示文件的除组信息外的详细信息。

5、修改文件权限:chmod xxx 文件名

有时可能需要添加 sudo ,修改完后一般加上 source 文件名 立即生效修改文件权限

sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)

其中×××指文件名(也可以是文件夹名,不过要在chmod后加-ld)。

说明如下,其实整个命令的形式是
sudo chmod -(代表类型)×××(所有者)×××(组用户)×××(其他用户)

三位数的每一位都表示一个用户类型的权限设置。取值是0~7,即二进制的[000]~[111]。

这个三位的二进制数的每一位分别表示读、写、执行权限。

如000表示三项权限均无,而100表示只读。这样,我们就有了下面的对应:
0 [000] 无任何权限
4 [100] 只读权限
6 [110] 读写权限
7 [111] 读写执行权限

6、关闭、重启 Ubuntu 虚拟机:poweroff、reboot

 7、拷贝文件到指定目录命令:cp /xx/文件名 /xxx/xxxx

8、终端清屏命令:clear

9、终止命令:Ctrl + C

10、删除文件/文件夹:rm 文件名 、rm -d 文件夹

说明:添加 sudo 是 home 文件夹下的权限问题,其他一般目录不需要 sudo

rm [选项] 文件
-f, --force 强力删除,不要求确认
-i 每删除一个文件或进入一个子目录都要求确认
-I 在删除超过三个文件或者递归删除前要求确认
-r, -R 递归删除子目录
-d, --dir 删除空目录
-v, --verbose 显示删除结果

11、获取 ip 地址:ifconfig

12、获取当前文件夹绝对路径:pwd

 13、切换文件目录命令:cd 文件目录

14、终端命令补齐快捷键:tab

15、查看文件内容:cat 文件名

16、获得root 超级权限:sudo

在普通用户下,命令前面添加 sudo ,获取 root 权限

注意:回车后可能需要当前用户密码,输入即可

 17、切换 root 超级用户:sudo su

回车后输入对应密码即可

 18、root 切换为普通用户:sudo su 用户名

 19、创建文件命令:touch 文件名

 20、移动文件到指定目录:mv 要移动的文件路径 目标目录文件夹

如图是把 MyLinuxStudy/Tmp/tmp.txt  移动到  MyLinuxStudy/

21、删除文件或文件夹、删除当前文件夹下所有文件:rm 文件名、rm -r 文件夹、rm *

删除文件夹的另一个命令:rmdir 文件夹名

  •  -f, --force: 即使文件属性设为只读也直接删除,不逐一确认,此外忽略不存在的文件,不产生提示。
  • -i: 删除之前逐一询问确认。
  • -I: 在删除三个以上文件之前或在递归删除时提示一次,比-i提示的次数少,但仍然可以防止大多数错误。
  • --interactive[=WHEN]: 根据WHEN提示,从不,一次-I或始终-i,如果没有WHEN,则始终提示。
  • --one-file-system: 递归删除层次结构时,跳过文件系统上与相应命令行参数不同的任何目录。
  • --no-preserve-root: 不特别对待/。
  • --preserve-root: 不要删除/,默认选项。
  • -r, -R, --recursive: 递归删除目录及其内容。
  • -d, --dir: 删除空目录。
  • -v, --verbose: 输出执行过程。
  • --help: 输出帮助信息。
  • --version: 输出版本信息。

22、重命名文件:mv 文件名 新文件名

如图把 copy.txt 重命名为 rename.txt

 23、开启、关闭指定网卡:ifconfig 网卡名 up、ifconfig 网卡名 down

普通用户下可能需要 sudo 权限

 24、查看命令的帮助信息/更多使用:--help

 25、查看帮助手册,查看函数用法:man 函数名

可以根据提示查看更多,其中 q or quit 退出查看

 26、数据同步写入磁盘命令:sync

 27、查找指定文件所在路径:find -name 文件名

 28、查看文件夹大小的命令:du 文件夹 -sh、du

  • -a或-all 显示目录中个别文件的大小。
  • -b或-bytes 显示目录或文件大小时,以byte为单位。
  • -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
  • -D或--dereference-args 显示指定符号连接的源文件大小。
  • -h或--human-readable 以K,M,G为单位,提高信息的可读性。
  • -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
  • -k或--kilobytes 以1024 bytes为单位。
  • -l或--count-links 重复计算硬件连接的文件。
  • -L<符号连接>或--dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
  • -m或--megabytes 以1MB为单位。
  • -s或--summarize 仅显示总计。
  • -S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
  • -x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
  • -X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
  • --exclude=<目录或文件> 略过指定的目录或文件。
  • --max-depth=<目录层数> 超过指定层数的目录后,予以忽略。

29、 磁盘空间检查命令:df

 30、使用 gedit 打开文件进行编辑:gedit ./Test/test.txt

 31、查看当前系统进程命令:ps、ps -au、ps -aux

  • ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
  • -A 列出所有的进程
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的进程

 32、进程实时运行状态查看命令:top

注意:使用 top 进入查看状态后,使用 q 退出查看状态

 33、文件类型查看命令:file  文件名

 34、查找内容命令:grep -nr 要查找的内容 文件夹、grep -n 要查找的内容 文件名

如图是,递归查找当前文件夹下所有包含 open 字段的文件内容,并显示行号

更多 grep 说明,可以 输入grep --help 查看

用法: grep [选项]... PATTERN [FILE]...
在每个 FILE 或是标准输入中查找 PATTERN。
默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。
例如: grep -i 'hello world' menu.h main.c

正则表达式选择与解释:
  -E, --extended-regexp     PATTERN 是一个可扩展的正则表达式(缩写为 ERE)
  -F, --fixed-strings       PATTERN 是一组由断行符分隔的字符串。
  -G, --basic-regexp        PATTERN 是一个基本正则表达式(缩写为 BRE)
  -P, --perl-regexp         PATTERN 是一个 Perl 正则表达式
  -e, --regexp=PATTERN      用 PATTERN 来进行匹配操作
  -f, --file=FILE           从 FILE 中取得 PATTERN
  -i, --ignore-case         忽略大小写
  -w, --word-regexp         强制 PATTERN 仅完全匹配字词
  -x, --line-regexp         强制 PATTERN 仅完全匹配一行
  -z, --null-data           一个 0 字节的数据行,但不是空行

杂项:
  -s, --no-messages         不显示错误信息
  -v, --invert-match        选中不匹配的行
  -V, --version             显示版本信息并退出
      --help                显示此帮助并退出

输出控制:
  -m, --max-count=NUM       NUM 次匹配后停止
  -b, --byte-offset         输出的同时打印字节偏移
  -n, --line-number         输出的同时打印行号
      --line-buffered       每行输出清空
  -H, --with-filename       为每一匹配项打印文件名
  -h, --no-filename         输出时不显示文件名前缀
      --label=LABEL         将LABEL 作为标准输入文件名前缀
  -o, --only-matching       只显示匹配PATTERN 部分的行
  -q, --quiet, --silent     不显示所有常规输出
      --binary-files=TYPE   设定二进制文件的TYPE 类型;
                            TYPE 可以是`binary', `text', 或`without-match'
  -a, --text                等同于 --binary-files=text
  -I                        等同于 --binary-files=without-match
  -d, --directories=ACTION  读取目录的方式;
                            ACTION 可以是`read', `recurse',或`skip'
  -D, --devices=ACTION      读取设备、先入先出队列、套接字的方式;
                            ACTION 可以是`read'或`skip'
  -r, --recursive           等同于--directories=recurse
  -R, --dereference-recursive       同上,但遍历所有符号链接
      --include=FILE_PATTERN  只查找匹配FILE_PATTERN 的文件
      --exclude=FILE_PATTERN  跳过匹配FILE_PATTERN 的文件和目录
      --exclude-from=FILE   跳过所有除FILE 以外的文件
      --exclude-dir=PATTERN  跳过所有匹配PATTERN 的目录。
  -L, --files-without-match  只打印不匹配FILEs 的文件名
  -l, --files-with-matches  只打印匹配FILES 的文件名
  -c, --count               只打印每个FILE 中的匹配行数目
  -T, --initial-tab         行首tabs 分隔(如有必要)
  -Z, --null                在FILE 文件最后打印空字符

文件控制:
  -B, --before-context=NUM  打印文本及其前面NUM 行
  -A, --after-context=NUM   打印文本及其后面NUM 行
  -C, --context=NUM         打印NUM 行输出文本
  -NUM                      等同于 --context=NUM
      --color[=WHEN],
      --colour[=WHEN]       使用标记高亮匹配字串;
                            WHEN 可以是`always', `never'或`auto'
  -U, --binary              不要清除行尾的CR 字符(MSDOS/Windows)
  -u, --unix-byte-offsets   忽略CR 字符,报告字节偏移
                 (MSDOS/Windows)

'egrep' 即'grep -E'。'fgrep' 即'grep -F'。
直接调用'egrep' 或是'fgrep' 均已被废弃。
若FILE 为 -,将读取标准输入。不带FILE,读取当前目录,除非命令行中指定了-r 选项。
如果少于两个FILE 参数,就要默认使用-h 参数。
如果有任意行被匹配,那退出状态为 0,否则为 1;
如果有错误产生,且未指定 -q 参数,那退出状态为 2。

35、修改文件所属用户、用户组:chown 用户.用户组 文件名

如图是:把Test/test.txt 文件的用户、用户组修改为 root

修改文件夹下所有文件所属用户、用户组:chown -r 用户.用户组 文件夹

权限不够,添加 sudo ,更多操作信息输入 chown --help 查询

用法:chown [选项]... [所有者][:[组]] 文件...
或:chown [选项]... --reference=参考文件 文件...
Change the owner and/or group of each FILE to OWNER and/or GROUP.
With --reference, change the owner and group of each FILE to those of RFILE.

  -c, --changes          like verbose but report only when a change is made
  -f, --silent, --quiet  suppress most error messages
  -v, --verbose          output a diagnostic for every file processed
      --dereference      affect the referent of each symbolic link (this is
                         the default), rather than the symbolic link itself
  -h, --no-dereference   affect symbolic links instead of any referenced file
                         (useful only on systems that can change the
                         ownership of a symlink)
      --from=当前所有者:当前所属组
                             只当每个文件的所有者和组符合选项所指定时才更改所
                有者和组。其中一个可以省略,这时已省略的属性就不
                需要符合原有的属性。
      --no-preserve-root  do not treat '/' specially (the default)
      --preserve-root    fail to operate recursively on '/'
      --reference=RFILE  use RFILE's owner and group rather than
                         specifying OWNER:GROUP values
  -R, --recursive        operate on files and directories recursively

The following options modify how a hierarchy is traversed when the -R
option is also specified.  If more than one is specified, only the final
one takes effect.

  -H                     if a command line argument is a symbolic link
                         to a directory, traverse it
  -L                     traverse every symbolic link to a directory
                         encountered
  -P                     do not traverse any symbolic links (default)

      --help        显示此帮助信息并退出
      --version        显示版本信息并退出

Owner is unchanged if missing.  Group is unchanged if missing, but changed
to login group if implied by a ':' following a symbolic OWNER.
OWNER and GROUP may be numeric as well as symbolic.

示例:
  chown root /u        将 /u 的属主更改为"root"。
  chown root:staff /u    和上面类似,但同时也将其属组更改为"staff"。
  chown -hR root /u    将 /u 及其子目录下所有文件的属主更改为"root"。

36、显示程序运行消耗的时间及系统资源等资讯的命令:time 运行程序

例如:time ./test

  • -o 或 --output=FILE:设定结果输出档。这个选项会将 time 的输出写入 所指定的档案中。如果档案已经存在,系统将覆写其内容。
  • -a 或 --append:配合 -o 使用,会将结果写到档案的末端,而不会覆盖掉原来的内容。
  • -f FORMAT 或 --format=FORMAT:以 FORMAT 字串设定显示方式。当这个选项没有被设定的时候,会用系统预设的格式。不过你可以用环境变数 time 来设定这个格式,如此一来就不必每次登入系统都要设定一次。

 man time 查看 time 的更多用法

37、树状格式列出目录文件夹的内容结构:tree 文件夹

命令可能需要安装:sudo apt install tree

 更多信息使用命令:tree --help

猜你喜欢

转载自blog.csdn.net/u014361280/article/details/127899970
今日推荐