基本操作命令:
mkdir 创建文件夹
pwd (short for printed work directory) 显示当前文件夹的路径
cd (short for change directory) 改变文件夹
ls (short for list) 列出当前文件夹下的所有文件
touch 创建新文件,如果文件名不存在
rm (short for remove) 移除文件或文件夹
在Linux系统中文件前面有.的前缀的文件是隐藏的文件,需要访问是可以通过 ls -a(short for all)来查看所有文件
ls -l 显示详细资料 -h是搭配l使用的,用来人性化地显示文件的大小有KB显示
通配符的使用(指的是特殊的符号)
* 代表任意多个字符 SA : ls 1* and ls *1.txt 相当于省略n个字符串 n>=0
?用来代表一个字符 SA: ls 1?1,txt 相当于省略1个字符串 at least one
[]可以定义一个我们要匹配的字符组,只要在字符组里面的文件,都会被提取出来 SA:ls [12321434].text
[x-y]可以简化位x字母到y字母范围内的字符 SA: ls [1-h].text
cd:
直接键入cd命令,就会返回到home/用户名的路径(切换到当前用户的主目录)cd ~(这个也是当前用户的主目录的代码) 也会有相同的效果
cd -可以在最近两次工作目录中,来回切换
相对路径和绝对路径
相对路径,最前面不是/和~,表示相对当前目录的文件夹
绝对路径,最前面是/和~,表示完整路径的文件夹
touch 命令:
如果文件不存在创建文件,
如果文件存在那么就会修改文件的修改日期
mkdir
创建一个新的文件夹,-p 可以连续创建递归的目录
rm
-f 强制删除,-r 可以递归地删除
文件命令
tree 目录 以树状图的形式列出文件目录结构
cp src dest (short for copy)复制 复制文件或者目录
mv src dest (short for move) 移动文件到其他文件夹或者目录重命名
tree -d 只显示文件夹命令
cp -i 覆盖时提醒 -r 递归复制
cat (short for conatenate) 查看文件内容,创建文件,文件合并,追加文件等二进制操作
会一次性显示文件内容
more可以分页显示文件内容
-------------------------------------------------------
KEY FUNCTIONALITY
space 显示手册的下一页
Enter 逐行递增显示下面的内容
b 回滚一页
f 翻滚一页
q 退出
--------------------------------------------------------------------
cat:-b 对非空显示行号 -n 对所有行的行号显示出来
grep是Linux中功能强大大的文本搜索工具,^ 行首,$是行尾 -n 显示nonblank 行号 -i 忽略大小写
echo是用于重定向或者从命令行中输入字符串 >显示把内容输出到一个文件中,覆盖文件。>>追加到文件的末尾
管道 |
Linux允许将一个命令的输出可通过管道做为一个命令的输入 左边写,右边读
远程关机命令
shutdown 选项 时间
SA: shutdown -r now 现在重启
SA:shutdown 20:20 在今天的指定时间关闭电脑
SA:shutdown +10 在10分钟之后关闭电脑
SSH 默认端口 22 Web服务器 80 https 443 ftp 21
scp 是远程传输文件的命令 命令格式如下:
scp -r user@remote/a kobe -r 是复制整个文件树
SSH高级:
SSH配置相关的文件都保存在.ssh目录中
ssh-keygen 回生成两个文件 一个含有.pub 这个是公钥,另外一个是私钥
非对称加密,客户端用私钥进行加密,用公钥解密,服务器用公钥进行加密,私钥解密,是一个非对称的加密过程
对于每次都使用ssh -p port user@remote 比较麻烦,可以使用别名进行处理,需要在.ssh文件夹中新建一个config文件
-----------------------------------------------------------------------------------
Host 别名
HostName ip address
User userName
Port 22
-------------------------------------------------------------
用户与权限命令
用户是Linux下重要的一环用户管理包括用户与组管理
对文件/目录的权限包括
x (excute) x-1
w (write) w-2
r(read) r-4
组的概念:就是把所有要管理相同权限的用户加入到组,然后修改组的权限那么就可以达到同步组里面众多用户的权限
文件权限示例:目录|拥有者权限|组权限|其他用户权限
SA: drwxr--r--
还有一个硬链接数 就是在这个文件夹下有多小个成员文件或文件夹
chmod 可以简单地修改用户/组对文件/目录的权限
chmod +/- rwx 文件/目录
超级用户:超级用户中的root帐号用于系统的维护和管理,对操作系统所有资源具有所有访问权限
不推荐在linux中登录超级用户的帐号
组管理
增加组可以使用命令groupadd 删除组可以使用命令groupdel 改变一个文件所属的组可以使用命令:chgrp -R (递归调用)组名 文件夹
用户管理:
增加用户需要用到两个命令 useradd -m (自动建立家目录)-g(指定用户所属的组) 组 新建用户名和passwd 用户名
删除用户 :userdel -r(自动删除家目录) 用户名
查看用户的ID代号:
id 用户名 产生的UID 和组ID可以在/etc/passwd 文件中查看到 jackson:x:1000:1000:jackson
who 命令可以看到当前系统有多少用户登录到我们的系统
whoami 查看当前登录到的用户名
修改组usermod -G su 用户名
主组表示用户新建时的权限,附加组表示该用户附加的其他权限,
-g 是 主组 -G 是附加组
usermod -s /bin/bash 用户名 为什么要修改这个shell呢 是因为ubuntu对于其他用户会使用默认的shell程序是dash 而这个效率高一点的shell程序是无法区分开一个目录里面的文件和文件夹的,因为他们都是一种颜色的。
which(重要)
用户保存用户信息的文件 /etc/passwd
用户修改用户密码的程序 /usr/bin/passwd
which命令可以查看命令所在的位置
which ls
切换用户su
su -用户名 (当没有用户名的时候就是登录超级用户)(-就是切换到要登录的用户的家目录)
修改文件权限的命令:
chown 修改所有者
chgrp 修改组
chmod 修改权限
系统信息相关命令:
date 和cal查看系统时间
df和du查看磁盘和目录的占用空间
df -h 是磁盘 du -h是目录下的文件大小
exit (退出当前登录的用户)
进程概念:
在正进行运行中的应用程序
相关命令:ps aux(a-all u-details -t 显示没有控制终端的进程) process status 查看进程的相关情况
top 动态显示进程中的程序layout
kill [id]删除
find 路径 -name "" 查找文件
文件软链接就是类似与windows下的快捷方式
ln -s 链接的源文件 链接文件 没有-s 只能创建硬链接文件 源文件要使用绝对路径
软链接
文件数据-》文件名-》软链接-》绝对路径的文件名
文件数据-》1 文件名 -》2 硬链接
在Linux中文件名和文件数据时分开储存的
打包/压缩
tar是linux中最常用的备份工具,此命令把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列的大文件
tar的命令格式如下:
打包文件:
tar -cvf dest src(c for create x -release f-name must be specifed v-list the details) 打包文件.tar 被打包文件的路径
tar -xvf 打包文件.tar (f选项一定要放在最后)
压缩和解压
gzip是可以压缩文件的压缩后的tar 后面会加一个.gz的后缀
用tar 命令调用-z 选项之后是调用了gzip
解压到指定的路径
tar -zxvf tar.gz -C 要解压的路径
bzip2 tar.bz2
通过tar命令加上选项-j
apt 是advanced packaging tools
apt install /apt remove /apt upgrade
{makefile 是一个可以快速帮助我们生成对象,并且链接生成系统可执行文件,其语法是:
target :prerequistites
<tab> command
}