Linux快速入门
参考资料
Linux是一个强大且开源的操作系统,本文使用LabEx学习和练习Linux操作,目标是获得管理Linux操作系统和自动化任务的实际经验。
网站链接:Linux Skill Tree - Learning Path | LabEx
LabEx针对初学者掌握Linux管理,提供了一个综合学习路径的技能树,包含command-line interfaces, system administration, and shell scripting
man <命令语句>:对该命令的详细使用说明

注意点
Linux命令大小写敏感
注意空格
基础命令
echo:重复语句
权限管理
-
whoami:返回username,用于在不同机器或使用不同用户工作时查看用户名 -
id:查看当前用户在哪个groups,groups决定了用户的权限和访问权 -
id root:查看超级管理员,即系统的管理者

安装软件
sudo:SuperUser Do,暂时使用超级管理员身份执行操命令apt:包裹管理工具,相当于手机上的应用商店install:安装程序
先更新,再安装
sudo apt update
sudo apt install xxx
文件操作基础
Linux中几乎所有内容都被视为文件,所以操作文件是使用系统的基础
主目录 :
home directory,一般表示为~
pwd:print working directory,显示当前文件路径,在Linux文件结构中确定方向echo ~:显示home directory的路径ls:显示当前文件夹内的目录,ls表示listls ~:显示home directory内的目录,~是主目录的一种快捷方式ls -l:显示详细文件目录信息,l表示long formatls -a:显示包含隐藏文件的目录,a表示allls -la:显示所有文件目录的详细信息ls -l 文件夹名:显示该文件夹下的文件目录ls -lR 文件夹名:显示该文件夹下的所有文件和子文件夹中的内容,R表示recursive递归地ls -ld 文件夹名:显示文件夹本身的信息,-d表示仅仅列出文件夹自己
Linux使用的是一种
hierarchical - file system,类似于一个有许多分支的大树🌳主干 :
root directory,一般表示为/
cd 绝对路径:移动到指定路径,cd表示change directorycd ..:移动到上一个文件夹,..表示the directory above
创建文件和文件夹的几种方式
touch 文件名:创建一个新的空文件,如果同名文件已经存在,则更新文件的时间戳而不改变其内容echo "Hello, Linux" > file.txt:创建一个带有内容的文件,如果同名文件已经存在,则更换其内容echo "Hidden file" > .hiddenfile:创建了一个隐藏文件,Linux中任何一个文件或文件夹命名从点开始,则为隐藏文件mkdir 文件夹名称:创建一个新文件夹mkdir -p 父文件夹/子文件夹:-p表示在必要时创建父文件夹;如果缺少-p,当父文件夹不存在时,创建语句失败
复制文件和文件夹
cp 文件1 文件1_copy:复制文件1到当前目录,并命名为文件1_copycp 文件1 指定文件夹:复制文件1到指定文件夹中cp -r 文件夹1 文件夹1_copy:复制文件夹到当前文件夹中,r表示recursive,为保证该文件夹下所有内容都被复制了。如果文件夹1_copy存在,则该命令将复制文件夹1到文件夹1_copy目录中;如果文件夹1_copy不存在,则该命令将复制文件夹1到当前文件夹中并重命名为文件夹1_copy
移动和重命名文件和文件夹
mv 文件1 文件2:重命名文件1,更换为文件2mv 文件1 文件夹1:将文件1移动到文件夹1中mv 文件夹1 文件夹2:重命名文件夹1,更换为文件夹2mv 文件夹1/文件1 ./文件2:将文件1从文件夹1中移动到当前文件夹,并重命名为文件2
移除文件和文件夹,没有回收站所以
rm命令删除的内容通常是永久性的,在执行命令前,请务必仔细检查!
rm 文件名:直接删除rm -i 文件名:在删除前进行确认rmdir 文件夹名:只在文件夹为空的时候执行rm -r 文件夹名:可以删除不为空的文件夹rm -rf 文件夹名:强制执行删除命令,没有任何提示
输出文件内容
下文中将"文件路径"默认写作
cat <path>:打开文件内容cat -n <path>:输出带有行数字标识的内容,n表示numberhead <path>:默认输出文件前10行内容head -n1 <path>:输出文件前一行内容,n2表示输出前两行,...head -c1 <path>:输出文件前一个字节,c表示character,文件中1个字母为1个字节tail <path>:默认输出文件后10行内容tail -n1 <path>:输出文件后一行内容tail -c1 <path>:输出文件后一个字节,通常为空,因i最后一个字节可能是不可见的换行符
对比文件/文件夹
diff 文件1 文件2:对比文件内容diff -r 文件夹1 文件夹2:对比文件夹内容,r表示recursively递归地将子文件夹进行比较
Linux中的权限
权限对于管理访问Linux系统上的文件和文件夹非常重要,包括对文件的读、写操作
查看文件的详细信息时(ls -l 文件名)
-rw-rw-r-- 1 labex labex 0 Jul 29 15:11 example.txt
-rw-rw-r--:-表示普通文件,d表示文件夹,rwx表示read/write/execute,分别表示对owner/group/others的权限- 数字
1:硬链接数,对于file通常为1,对于directory可能为别的数值- 第一个
labex:该文件当前的onwner的username- 第二个
labex:该文件当前的group,表示可以一起共享权限的集体0:文件字节数Jul 29 15:11:最后修改的时间example.txt:文件名
sudo使用root权限运行命令,可能需要输入密码
-
chown <owner名称>:<group名称> <文件名称>:同时修改文件的user和group,即change ownership -
chown -R <owner名称>:<group名称> <文件名称>:修改文件夹中的 -
chmod <数字记号> <文件名称>:更改文件/文件夹的权限,即change mode数字记号numeric notation的种类:
4:read
2:write
1:exectue
0:no permission
- 例如数字记号
700指的是-rwx------各自的累加
owner:4r+2w+1e=7
group:0r+0w+0e=0
other:0r+0w+0e=0
符号记号symbolic notation的种类:u:user(owner)
g:group
o:other
a:all
+:增加一个权限
-:移除一个权限
r-read;w-write;x-execute- 例如
chomod u+x 文件名称指的是为onwer增加一个执行权限
- 例如数字记号
修改用户信息
-
sudo useradd <用户名>:添加一个新用户 -
sudo useradd -m <用户名>:创建一个以用户名命名的HomeDirectory,类似一个私有文件夹存储文件和设置 -
sudo grep -w '<用户名>' /etc/passwd:显示一行用户名相关信息,用冒号隔开 -
sudo ls -ld </home/用户名 即homeDirectory>:仅查看homeDirectory文件夹本身的信息
例如:
joker:x:5001:5001::/home/joker:/bin/sh用户名:joker
密码:x(通常存在别处)
user ID:5001
group ID:5001
HomeDirectory:
/home/joker(当使用-m时创建)DefualtShell:
/bin/sh
sudo passwd <用户名>:更改用户密码,需要输入两次sudo passwd -S <用户名>:查看用户密码状态sudo usermod -d <新的HomeDirectory> <用户名>:修改homeDirectory
Linux在后台将加密的密码存储在
/etc/shadow中,而不是在每个人都可以找到的/etc/passwd中
Linux中可以修改的用户默认shell,shell是解释并运行你在终端输入的命令的程序。
sudo usermod -s /bin/bash <用户名>:更改用户的shell,从默认的sh(Bourne Shell)变为bash(Bourne Again Shell),使得命令语句更丰富
将新建的用户加入sudo group,使得该用户可以使用sudo的权限,便于软件安装,配置修改和用户管理,仅仅输入该用户的密码就可以在不泄露root密码的时候使用部分权限,sudo会记录谁运行了什么命令,提高安全性和可追踪性
sudo usermod -aG sudo <用户名>:将用户添加到sudo的group中,-aG表示append to groupgroups <用户名>:列出包含该用户的所有groupsu - <用户名>:将用户改为<用户名>的用户,需要输入创建该用户时设置的密码(当用户被禁用时无法更换)sudo cat /etc/shadow:可以作为切换用户后,检查权限是否提高的语句(原先为仅在root用户下才能执行的语句,查看完使用exit退出)sudo passwd -l <用户名>:暂时禁用该用户,-l表示locksudo passwd -u <用户名>:解锁用户sudo userdel <用户名>:仅删除用户名,保留其HomeDirectorysudo userdel -r <用户名>:删除用户及其HomeDirectory,del表示delete,-r表示remove
htop工具
实时查看电脑运行状态,类似于仪表盘
顶部:CPU和内存使用,电脑运行时常
中间:正在运行的程序,进程
底部:htop中可操作的选项
-
先安装htop后,使用
htop打开 -
使用
q退出