Linux操作入门
Windows操作系统常用于单用户编辑和管理文件,当需要多用户共同维护大型服务器时,Linux系统更加便捷、安全。Linux系统中,若干个用户平行存在于家目录"home"下,每个用户在自己的用户目录下工作。
准备工作
- Linux终端命令的基本格式是command [-options] [parameter]
(1) “[ ]”内容可以没有,则采用默认操作
(2) 注意命令中的空格,不可随意删减
(3) 注意[-options]中的 “-” 不可省略
(4) 若存在不止一个options,其前后顺序一般不影响结果, 格式示例如下述“七大基本操作”中的1.(2) - 查询命令
(1) command --help
(2) man command
注: man是manual的缩写;因为有时候命令的说明比较长,无法全部显示,敲 Enter 一次滚动手册页的一行,敲 空格键 显示手册页的下一屏,敲 b 回滚一屏,敲 f 前滚一屏,敲 q 退出 - 放大/缩小终端窗口的字体显示
Ctrl + Shift + =放大
Ctrl + - 缩小
七大基本操作
-
查看当前文件夹的内容:ls, list的缩写
(1)以 “.” 开头的文件名,该文件是隐藏文件,用ls -a可以查看包括隐藏文件在内的所有文件
(2)ls -lh可以直观显示文件夹下内容的具体信息; 或者ls -l -h实现相同功能
(3)ls -lha具备上述两个功能 -
查看当前所在的文件夹:pwd,print work directory的缩写
-
切换文件夹:cd, change directory的缩写
(1)cd 或者cd ~:切换到当前用户的主目录(/home/用户目录)
(2)cd . 表示保持目录不变(一个点表示当前目录)
(3)cd 两个点:表示返回上一级目录(两个点表示上一级目录)
(4)cd ~/路径名/:表示相对路径
注:绝对路径是从根目录开始,而相对路径是相对于当前目录而言。
(5)路径名前几个字母+Tab键:自动补全
注:若不止一个目录满足这前几个字母,敲两次Tab键可显示所有符合要求的目录
(6)cd -:在最近两次工作目录间来回切换 -
新建文件夹:mkdir 目录名, make directory的缩写
(1)目录即文件夹,两者是同一概念
(2)mkdir -p -a/b/c,一个操作完成多个从属目录的创建,即创建a目录的同时在a目录下创建b目录,同时在b目录下创建c目录 -
新建文件:touch 文件名,"摸"一下就创建了个文件
(1)若该文件已存在,可通过touch命令更改文件最后的修改日期
(2)同一个文件夹下无法创建相同名称的目录和文件 -
删除文件:rm 文件名,remove的缩写
(1)rm操作是把文件直接从磁盘上清除,不会进入垃圾桶,删除后无法还原
(2)删除目录用rm -r
(3)强制删除用rm -f,表示如果不存在该文件也不出现提示 -
清屏:clear
文件操作进阶
- 以树状图查看目录结构: tree
注: tree -d树状图只显示目录,不显示文件 - 复制:cp 源文件 目标文件
例:cp ~/Desktop/a/123.txt .321.txt,意思是:将桌面上a文件夹的123.txt复制到当前文件夹下并保存为321.txt
注:若文件名不变,目标文件的文件名可不写
(1) cp -i 当出现同名文件的时候,终端提示“是否覆盖?”,安全起见在使用时推荐使用cp -i
(2) cp -r 复制目录 - 剪切/移动:mv 源文件 目标文件
(1) 和复制命令相似,操作时建议加上-i
(2) 移动命令和复制命令的区别是,移动文件夹时不需要 -r - 显示文件中的内容:
(1)cat 文件: 显示文件的全部内容;concatenate的缩写
注:
cat -b显示文件的行号,空行的行号不会输出
cat -n显示文件的行号,空行的行号也会输出
(2)more 文件: 内容多的时候可以分屏显示
注:more命令分屏显示的快捷键同“man”查询命令时分屏显示的快捷键 - 查找文件:
例:==find [路径] -name == - 在文件中搜索/查找指定内容:grep 搜索内容 文件
(1a)grep -n 显示搜索内容及其在文件中的行号
(1b)grep -v 取反搜索
(1c)grep -i 搜索时忽略大小写
(2a)^a:用于搜索以a开头的行
(2b)ke$:用于搜索以ke结束的行 - 通配符 (可灵活用于搜索等命令中)
(1) *:代表任意个数个字符(包含没有字符)
(2)?:代表任意一个字符(有且仅有一个)
(3)[ ]: 可以匹配“[ ]"中填写的字符组中的任意一个
例如: [abc]表示匹配a、b、c中的任意一个;[a-f]=表示匹配从 a 到 f 范围内的任意一个字符 - 重定向: echo 内容
(1)只用echo则在终端显示输入的内容
(2)echo 内容 > 文件: 用于直接创建文件并输出内容
(3)echo 内容 >> 文件:用于追加 - 管道:|, 常用于more和grep命令中, 可以理解为将一个命令的输出通过管道成为另一个命令的输入
(例1):ls -lh ~ | more:显示家目录下的内容(文件或者文件夹)并分屏输出
(例2):ls -lha ~ | grep Do:显示家目录下包含Do的内容的项(终端会输出Downloads和Documents相关信息)
远程管理命令
-
关机:shutdown 时间
例: shutdown now
(1)若shutdown后不输入时间,则按默认,一分钟之后关机;若一分钟之内反悔,则在终端输入 shutdown -c 放弃关机操作。
(2)一般不使用关机命令,因为关了之后必须手动开机;一般情况下会使用重启。 -
重启系统: shutdown -r
-
查询网卡配信息:ifconfig
(概念1)网卡是一个专门负责网络通讯的硬件设备,IP地址(又称域名)是设置在网卡上的地址信息。通俗理解,网卡相当于电话的SIM卡,IP地址相当于电话号码。
(概念2)每台联网的电脑上都有一个IP地址,是保证电脑之间正常通讯的重要设置,且每台电脑的IP地址不能相同,否则会产生冲突。
(操作1)查看网卡对应的IP地址: ifconfig | grep inet
(注意1)一台计算机中可能有一个物理网卡和多个虚拟网卡, Linux中物理网卡的名字通常以ensXX表示
(注意2)127.0.0.1被称为本地回环/回环地址,一般用来测试本机网卡是否正常 -
ping测试网络连接:ping 目标IP地址,检测到目标电脑的连接,时间越短说明网速越快
注:终止程序用Ctrl+C -
远程控制服务器:ssh [-p port] user@remote, ssh含义是secure shell
(说明1):port是SSH Server监听的端口,默认22可以省略
(概念1):端口的概念,通过端口号可找到计算机上运行的应用程序
常用端口号:SSH服务器22;Web服务器80;HTTPS443;FTP服务器21。
(说明2):user是远程机器上的用户名,若不指定默认为当前用户
(说明3):remote是远程机器的地址,可以是IP地址
(注1)输入 exit 退出当前用户的登录
(注2)ssh终端命令只在Linux或UNIX系统下使用,Windows系统需安装PuTTY或XShell客户端软件之后使用 -
远程复制文件:scp -P port 文件 user@remote: 文件
(1)此命令与上一条命令不同,此命令中是大写P。
(2)可用 -r 选项传送文件夹
(3)若“:”之后的路径如果不是绝对路径,则以用户家目录作为参照路径
用户与权限
- root用户
(1)sudo即root用户(substitute user),用于系统维护和安装下载(sudo apt install 安装包)
(2)groups root可查看到root所属组名是root - 修改文件权限:chmod +/- rwx 文件名或目录名
(1) +/- 表示增加/减少权限
(2) r代表read,代号4;w代表write,代号2;x代表excute,代号1。 - 组的操作:
(1)添加组:groupadd 组名
(2)删除组:groupdel 组名
(3)确认组信息:cat /etc/group
(4)递归修改文件/目录的所属组:chgrp -R 组名 文件/目录名
(注1):组的作用是将若干用户打包
(注2):上述操作除cat外,均需用sudo操作 - 创建用户&设置密码:
(1)添加新用户:useradd -m -g 组 新建用户名
(注1): -m作用是自动建立该用户的家目录;若创建用户时忘记-m选项,最便捷的解决办法时删除用户,重新创建
(注2): -g用于指定用户所属组,若不输入“-g 组”,那么默认建立一个和用户同名的组
(2)设置密码:passwd 用户名
(注1):可用于初始设置密码或重新设置密码
(注2):往往创建用户之后接着设置密码,因为远程管理必须输入密码
(3)确认用户信息:cat /etc/passwd | grep 用户名
注:用户信息保存在/etc/passwd文件中 - 删除用户:userdel -r 用户名,-r选项时自动删除用户的家目录(各用户的家目录在home目录下)。
- 查看用户信息
(1)查看用户信息UID和组信息GID:id [用户名],[用户名]省略则默认查看当前用户的信息
(2)查看当前所有登录的用户列表(有若干远程登录的用户):who
(3)查看当前登录用户的账户名:whoami
附:查看执行命令所在位置:which 命令 - 修改用户信息:
(1) 修改用户的主组:usermod -g 组 用户名
(2) 修改用户的附加组:usermod -G 组 用户名
(3) 修改用户登录shell:usermod -s /bin/bash 用户名
(注1):shell有两种类型,bash类型比dash更好,有不同颜色显示,更清楚 - 切换用户或退出登录
(1)切换用户并切换目录:su - 用户名
(注1):用户名前的 “-” 用于切换用户家目录;若用户名之前没有"-",则仅切换用户而不切换家目录(保持位置不变)
(注2):su后不接用户名,可切换至root用户,但建议
(2)退出当前登录用户:exit
查看系统信息
- 系统时间/日期:
(1) 查看时间:date
(2) 查看日历:cal ,calendar的缩写,-y选项可以查看一年的日历,若没有选项则查看一个月的日历 - 磁盘信息
(1)显示磁盘剩余空间:df -h,df是disk free的缩写
(2)显示目录下的文件大小:du -h 目录名,du是disk usage的缩写
注:-h是人性化显示(有标题有单位) - 进程信息
(1) 查看进程详细情况:ps aux;ps是process status的缩写,a显示终端上所有用户的进程,u显示进程的详细状态,x显示没有控制终端的进行;若省略aux则默认只显示当前用户通过终端启动的应用程序。
(2) 动态显示运行中的进行并排序:top;注意退出top要输入q
(3) 终止指定代号的进程:kill [-9] 进程代号;-9表示强行终止。注意不要终止root身份开启的进程,否则可能导致系统崩溃。
来源:CSDN
作者:笑逐颜开111
链接:https://blog.csdn.net/qq_42159947/article/details/103448929