Linux快速入门
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:打开文件内容cat -n:输出带有行数字标识的内容,n表示numberhead:默认输出文件前10行内容head -n1:输出文件前一行内容,n2表示输出前两行,…head -c1:输出文件前一个字节,c表示character,文件中1个字母为1个字节tail:默认输出文件后10行内容tail -n1:输出文件后一行内容tail -c1:输出文件后一个字节,通常为空,因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 ::同时修改文件的user和group,即change ownership - 
chown -R ::修改文件夹中的 - 
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:仅查看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
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退出
 


