目录
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
- -a或--all 显示全部的信息。
- -m或--machine 显示电脑类型。
- -n或--nodename 显示在网络上的主机名称。
- -r或--release 显示操作系统的发行编号。
- -s或--sysname 显示操作系统名称。
- -v 显示操作系统的版本。
- --help 显示帮助。
- --version 显示版本信息。
ls 后面参数说明:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-e 输出时间的全部信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
-g 无用。
-i 输出文件的 i 节点的索引信息。
-k 以 k 字节的形式表示文件的大小。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”作分格符。
-n 用数字的 UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
有时可能需要添加 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] 读写执行权限
说明:添加 sudo 是 home 文件夹下的权限问题,其他一般目录不需要 sudo
rm [选项] 文件
-f, --force 强力删除,不要求确认
-i 每删除一个文件或进入一个子目录都要求确认
-I 在删除超过三个文件或者递归删除前要求确认
-r, -R 递归删除子目录
-d, --dir 删除空目录
-v, --verbose 显示删除结果
在普通用户下,命令前面添加 sudo ,获取 root 权限
注意:回车后可能需要当前用户密码,输入即可
回车后输入对应密码即可
如图是把 MyLinuxStudy/Tmp/tmp.txt 移动到 MyLinuxStudy/
删除文件夹的另一个命令: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: 输出版本信息。
如图把 copy.txt 重命名为 rename.txt
普通用户下可能需要 sudo 权限
可以根据提示查看更多,其中 q or quit 退出查看
- -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=<目录层数> 超过指定层数的目录后,予以忽略。
- ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
- -A 列出所有的进程
- -w 显示加宽可以显示较多的资讯
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的进程
注意:使用 top 进入查看状态后,使用 q 退出查看状态
如图是,递归查找当前文件夹下所有包含 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。
如图是:把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 recursivelyThe 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"。
例如:time ./test
- -o 或 --output=FILE:设定结果输出档。这个选项会将 time 的输出写入 所指定的档案中。如果档案已经存在,系统将覆写其内容。
- -a 或 --append:配合 -o 使用,会将结果写到档案的末端,而不会覆盖掉原来的内容。
- -f FORMAT 或 --format=FORMAT:以 FORMAT 字串设定显示方式。当这个选项没有被设定的时候,会用系统预设的格式。不过你可以用环境变数 time 来设定这个格式,如此一来就不必每次登入系统都要设定一次。
man time 查看 time 的更多用法
命令可能需要安装:sudo apt install tree
更多信息使用命令:tree --help