Linux-Shell脚本编程-学习-1-Linux基本命令

简介: 在学习Linux-Shell脚本编程之前,我们需要学习一定的Linux基本命令,不然在后面学习Shell脚本编程的的时候,我们就呵呵了。我学习所用的系统是Ubuntu 16.04版本

也没有什么规则,就是记录一下我所用到的基Linux命令,也没有什么大纲,就是想到什么写什么了,剩下的后面子在补充了。呵呵哒



1. 用户切换 su:当我们从普通用户切换到root用户是,需要输入root用户的密码,当我们从root用户切换到普通用户是,不需要输入密码


2.重置密码 password命令:可以重置当前用户的密码,如果要重置其他用户密码,那需要切换到其他用户,或者使用管理员用户,或者使用管理员权限 sudo


3. 使用管理员权限:sudo,使普通用户的本次操作拥有管理员权限,需要输入管理员密码


4. 切换目录 cd: 切换目录,例如:“$ cd /home/dreamlife/temp/切换到dreamlife用户的temp目录下。


5. 相对文件路劲:”.“和”..“单点符号表示当前目录,双点符号表示当前目录的父目录


6. 查看当前目录下文字:ls,最基本的ls命令会显示当前文件下的文件和目录。为了区分文件和目录,我们可以使用"ls -F" 来区分,”ls“与”ls -F“区别如下图

image.png

还有一个命令就是 ”ls -R“,这个命令的用途就是让你快速了解一个目录下的结构,效果自己对比,如果对于大型项目,那么这个文件可能会很长了。

image.png

另一个常用的命令”ls-l“和“ls -a -l”(也 可以写作“ll“)这几个命令可以更详细的显示每个文件的相信信息,上效果图

image.png

详细信息大致有一下几种


1. 文件类型(d:目录,-:文件,C:字符型文件,b:块文件)等


2. 文件的权限:读写执行,分为单个组合,文件属主权限,属组成员权限,其他用户权限


3. 文件的硬链接总数。


4. 文件属主用户名


5. 文件属组组名


6.文件的大小


7. 文件上次修改时间


8. 文件名或目录名


如果向了解ls其他的命令,可以世界使用 ls --help来查看ls的其他命令

$ ls --help

用法:ls [选项]... [文件]...

List information about the FILEs (the current directory by default).

Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.


必选参数对长短选项同时适用。

 -a, --all   不隐藏任何以. 开始的项目

 -A, --almost-all  列出除. 及.. 以外的任何项目

     --author   与-l 同时使用时列出每个文件的作者

 -b, --escape   以八进制溢出序列表示不可打印的字符

     --block-size=SIZE      scale sizes by SIZE before printing them; e.g.,

                              '--block-size=M' prints sizes in units of

                              1,048,576 bytes; see SIZE format below

 -B, --ignore-backups       do not list implied entries ending with ~

 -c                         with -lt: sort by, and show, ctime (time of last

                              modification of file status information);

                              with -l: show ctime and sort by name;

                              otherwise: sort by ctime, newest first

 -C                         list entries by columns

     --color[=WHEN]         colorize the output; WHEN can be 'always' (default

                              if omitted), 'auto', or 'never'; more info below

 -d, --directory            list directories themselves, not their contents

 -D, --dired                generate output designed for Emacs' dired mode

 -f                         do not sort, enable -aU, disable -ls --color

 -F, --classify             append indicator (one of */=>@|) to entries

     --file-type            likewise, except do not append '*'

     --format=WORD          across -x, commas -m, horizontal -x, long -l,

                              single-column -1, verbose -l, vertical -C

     --full-time            like -l --time-style=full-iso

 -g    类似-l,但不列出所有者

     --group-directories-first

                            group directories before files;

                              can be augmented with a --sort option, but any

                              use of --sort=none (-U) disables grouping

 -G, --no-group             in a long listing, don't print group names

 -h, --human-readable       with -l and/or -s, print human readable sizes

                              (e.g., 1K 234M 2G)

     --si                   likewise, but use powers of 1000 not 1024

 -H, --dereference-command-line

                            follow symbolic links listed on the command line

     --dereference-command-line-symlink-to-dir

                            follow each command line symbolic link

                              that points to a directory

     --hide=PATTERN         do not list implied entries matching shell PATTERN

                              (overridden by -a or -A)

     --indicator-style=WORD  append indicator with style WORD to entry names:

                              none (default), slash (-p),

                              file-type (--file-type), classify (-F)

 -i, --inode                print the index number of each file

 -I, --ignore=PATTERN       do not list implied entries matching shell PATTERN

 -k, --kibibytes            default to 1024-byte blocks for disk usage

 -l    使用较长格式列出信息

 -L, --dereference  当显示符号链接的文件信息时,显示符号链接所指示

   的对象而并非符号链接本身的信息

 -m    所有项目以逗号分隔,并填满整行行宽

 -n, --numeric-uid-gid  类似 -l,但列出UID 及GID 号

 -N, --literal   输出未经处理的项目名称 (如不特别处理控制字符)

 -o    类似 -l,但不列出有关组的信息

 -p,  --indicator-style=slash 对目录加上表示符号"/"

 -q, --hide-control-chars   print ? instead of nongraphic characters

     --show-control-chars   show nongraphic characters as-is (the default,

                              unless program is 'ls' and output is a terminal)

 -Q, --quote-name           enclose entry names in double quotes

     --quoting-style=WORD   use quoting style WORD for entry names:

                              literal, locale, shell, shell-always,

                              shell-escape, shell-escape-always, c, escape

 -r, --reverse   逆序排列

 -R, --recursive  递归显示子目录

 -s, --size   以块数形式显示每个文件分配的尺寸

 -S                         sort by file size, largest first

     --sort=WORD            sort by WORD instead of name: none (-U), size (-S),

                              time (-t), version (-v), extension (-X)

     --time=WORD            with -l, show time as WORD instead of default

                              modification time: atime or access or use (-u);

                              ctime or status (-c); also use specified time

                              as sort key if --sort=time (newest first)

     --time-style=STYLE     with -l, show times using style STYLE:

                              full-iso, long-iso, iso, locale, or +FORMAT;

                              FORMAT is interpreted like in 'date'; if FORMAT

                              is FORMAT1FORMAT2, then FORMAT1 applies

                              to non-recent files and FORMAT2 to recent files;

                              if STYLE is prefixed with 'posix-', STYLE

                              takes effect only outside the POSIX locale

 -t                         sort by modification time, newest first

 -T, --tabsize=COLS         assume tab stops at each COLS instead of 8

 -u                         with -lt: sort by, and show, access time;

                              with -l: show access time and sort by name;

                              otherwise: sort by access time, newest first

 -U                         do not sort; list entries in directory order

 -v                         natural sort of (version) numbers within text

 -w, --width=COLS           set output width to COLS.  0 means no limit

 -x                         list entries by lines instead of by columns

 -X                         sort alphabetically by entry extension

 -Z, --context              print any security context of each file

 -1                         list one file per line.  Avoid '\n' with -q or -b

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

     --version  显示版本信息并退出


The SIZE argument is an integer and optional unit (example: 10K is 10*1024).

Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).


使用色彩来区分文件类型的功能已被禁用,默认设置和 --color=never 同时禁用了它。

使用 --color=auto 选项,ls 只在标准输出被连至终端时才生成颜色代码。

LS_COLORS 环境变量可改变此设置,可使用 dircolors 命令来设置。


退出状态:

0  正常

1  一般问题 (例如:无法访问子文件夹)

2  严重问题 (例如:无法使用命令行参数)


GNU coreutils online help:

请向 报告ls 的翻译错误

Full documentation at:

or available locally via: info '(coreutils) ls invocation'

 

image.png

cp命令将源文件复至一个新文件,他们有不同的索引节点号,有不同的创建日期和修改时间


如果文件名字冲突,则会提示是否覆盖,需要自己确定。


在实际使用中 ,我们很多时候需要讲一个目录完成的复制到另一个目录,那么现在需要执行 “cp -R”来执行,它可以递归的复制整个目录到目的目录。


其他的CP暂时还用不到,如果需要了解,可以执行“ $ cp --help ”




$ cp --help

用法:cp [选项]... [-T] 源文件 目标文件

 或:cp [选项]... 源文件... 目录

 或:cp [选项]... -t 目录 源文件...

Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.


必选参数对长短选项同时适用。

 -a, --archive   等于-dR --preserve=all

     --attributes-only 仅复制属性而不复制数据      --backup[=CONTROL  为每个已存在的目标文件创建备份

 -b    类似--backup 但不接受参数

     --copy-contents  在递归处理是复制特殊文件内容

 -d    等于--no-dereference --preserve=links

 -f, --force                  if an existing destination file cannot be

                                opened, remove it and try again (this option

                                is ignored when the -n option is also used)

 -i, --interactive            prompt before overwrite (overrides a previous -n

                                 option)

 -H                           follow command-line symbolic links in SOURCE

 -l, --link                   hard link files instead of copying

 -L, --dereference            always follow symbolic links in SOURCE

 -n, --no-clobber  不要覆盖已存在的文件(使前面的 -i 选项失效)

 -P, --no-dereference  不跟随源文件中的符号链接

 -p    等于--preserve=模式,所有权,时间戳

     --preserve[=属性列表 保持指定的属性(默认:模式,所有权,时间戳),如果

    可能保持附加属性:环境、链接、xattr 等

     --sno-preserve=属性列表 不保留指定的文件属性

     --parents   复制前在目标目录创建来源文件路径中的所有目录

 -R, -r, --recursive  递归复制目录及其子目录内的所有内容

     --reflink[=WHEN]  控制克隆/CoW 副本。请查看下面的内如。

     --remove-destination 尝试打开目标文件前先删除已存在的目的地

    文件 (相对于 --force 选项)

     --sparse=WHEN  控制创建稀疏文件的方式

     --strip-trailing-slashes 删除参数中所有源文件/目录末端的斜杠

 -s, --symbolic-link  只创建符号链接而不复制文件

 -S, --suffix=后缀  自行指定备份文件的后缀

 -t,  --target-directory=目录 将所有参数指定的源文件/目录

                                          复制至目标目录

 -T, --no-target-directory 将目标目录视作普通文件

 -u, --update   只在源文件比目标文件新,或目标文件

    不存在时才进行复制

 -v, --verbose  显示详细的进行步骤

 -x, --one-file-system 不跨越文件系统进行操作

 -Z                           set SELinux security context of destination

                                file to default type

     --context[=CTX]          like -Z, or if CTX is specified then set the

                                SELinux or SMACK security context to CTX

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

     --version  显示版本信息并退出


默认情况下,源文件的稀疏性仅仅通过简单的方法判断,对应的目标文件目标文件也

被为稀疏。这是因为默认情况下使用了--sparse=auto 参数。如果明确使用

--sparse=always 参数则不论源文件是否包含足够长的0 序列也将目标文件创文

建为稀疏件。

使用--sparse=never 参数禁止创建稀疏文件。


当指定了--reflink[=always] 参数时执行轻量化的复制,即只在数据块被修改的

情况下才复制。如果复制失败或者同时指定了--reflink=auto,则返回标准复制模式。


The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.

The version control method may be selected via the --backup option or through

the VERSION_CONTROL environment variable.  Here are the values:


 none, off       不进行备份(即使使用了--backup 选项)

 numbered, t     备份文件加上数字进行排序

 existing, nil   若有数字的备份文件已经存在则使用数字,否则使用普通方式备份

 simple, never   永远使用普通方式备份


有一个特别情况:如果同时指定--force 和--backup 选项,而源文件和目标文件

是同一个已存在的一般文件的话,cp 会将源文件备份。


GNU coreutils online help:

请向 报告cp 的翻译错误

Full documentation at:

or available locally via: info '(coreutils) cp invocation'


10.重命名文件和移动文件:mv




11.删除文件rm



最常用 rm -i 文件名   删除文件并提示


rm -rf 删除文件整个目录


删除目录还有一个命令也是可以使用的  rmdir 文件名


12 查看文件统计信息:stat

image.png

image.png

image.png

-n会给所有行加上行号,包括空白行,如果是希望给文本行加行号,那就需要使用-b命令

另外,如果要压缩多个空白行,可以使用-s参数

15.查看文本升级版神器 more

image.png

19 关机重启 shutdown -h now 关机 shutdown -r now 重启 后面的now可以换成时间。



20 ubuntu(GNOME桌面)下的文本编辑器 gedit 文件名


21 软件安装 apt install等等其他命令可以自行百度。











好了,目前我所需要的命令差不多都整理在这里了。未完待续中。。。。。。。



 


image.png

image.png

目录
相关文章
|
7天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
63 6
|
8天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
34 3
|
3天前
|
人工智能 Shell iOS开发
AI Shell:在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行
AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。
28 7
|
2天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
17 3
|
1月前
|
Shell
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
77 1
|
21天前
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
45 2
6种方法打造出色的Shell脚本
|
8天前
|
XML JSON 监控
Shell脚本要点和难点以及具体应用和优缺点介绍
Shell脚本在系统管理和自动化任务中扮演着重要角色。尽管存在调试困难、可读性差等问题,但其简洁高效、易于学习和强大的功能使其在许多场景中不可或缺。通过掌握Shell脚本的基本语法、常用命令和函数,并了解其优缺点,开发者可以编写出高效的脚本来完成各种任务,提高工作效率。希望本文能为您在Shell脚本编写和应用中提供有价值的参考和指导。
29 1
|
12天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
34 2
|
26天前
|
监控 网络协议 Shell
ip和ip网段攻击拦截系统-绿叶结界防火墙系统shell脚本
这是一个名为“小绿叶技术博客扫段攻击拦截系统”的Bash脚本,用于监控和拦截TCP攻击。通过抓取网络数据包监控可疑IP,并利用iptables和firewalld防火墙规则对这些IP进行拦截。同时,该系统能够查询数据库中的白名单,确保合法IP不受影响。此外,它还具备日志记录功能,以便于后续分析和审计。
45 6
|
23天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。