source、sh、bash以及./执行脚本区别
设置电脑可以从清华大学软件镜像/中国科学技术大学软件镜像中心中接收软件:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
sudo:用来以其他身份执行命令,预设身份为root(超级用户),在/etc/sudoers中设置可执行用户;etc文件夹:包含各种系统配置文件(Host-specific system-wide configuration files);
sh:shell命令语言解析器; Shell 既是一种脚本编程语言,也是一个连接内核和用户的软件。
- Linux常用shell类型:sh(Bourne shell)、bash(Bourne Again shell)、csh(C shell)、ksh(Korn shell);Shell是一个程序,一般都是放在/bin或者/user/bin目录下;可用
cat /etc/shells
查看当前系统中可用的shell;- Linux缺省的shell是bash,在
/bin/bash中
,可用echo $SHELL
指令查看当前使用的shell;/bin/sh
之前是bash的软链,现在链接到由较复杂bash演变过来的轻量级dash,to obtain faster script execution;可用ls -l /bin/sh
查看;
command | usage | note |
---|---|---|
source 或 . | source FileName或 . FileName | 在当前shell中执行file中命令,文件可无执行权限 |
sh | sh [-option] FileName | 在子shell(dash)中执行file中命令,文件可 无执行权限, 可使用sudo dpkg-reconfigure dash 切换shell为bash |
bash | bash [-option] FileName | 在子shell(bash)中执行file中命令,文件可 无执行权限 |
./ | ./FileName(没有空格) | 在子shell中执行file中命令,文件需要 执行权限 |
Linux中分号;
、&
、|
、||
及其&&
symbol | usage | note |
---|---|---|
; |
command1;command2 | 左——>右执行所有命令 |
& |
command1 & | 后台运行程序,用于没有交互的进程 |
| | command1 | command2 | 管道符用法:上一条命令输出为下一条命令参数:cat /etc/passwd | grep /bin/bash |
&& |
command1 && command2 | 逻辑与功能 |
|| | command1 || command2 | 逻辑或功能 |
shell在执行某个命令的时候,会返回一个返回值,该返回值保存在shell变量
$?
中。当$?==0时,执行成功;当$?==1时(我认为是非0的数,返回值在0-255间),执行失败。
Linux环境变量总结
env
:查看系统所有环境变量;export
:设置新环境变量;- 若一开始在
.bashrc
文件设置了新变量,即使注释掉该命令并source,该shell还存在该环境变量,可通过unset 变量名
来删除。
deb、rpm、tar.gz三种Linux软件包的区别
package | note |
---|---|
deb | ubuntu专用包,双击自动安装 |
rmp | ubuntu无法识别,红帽LINUX、SUSE、Fedora可以直接进行安装 |
tar.gz | for all Linux:解压 ——>cd到相应文件夹 ——>./install |
搜索文件/文件夹
- 搜索文件/文件夹
whereis 文件名
:限于二进制文件(-b)、源代码文件(-s)、说明文件(-m);find / -name +文件名
:指定的目录下遍历查找,如果目录使用 / 则表示在所有目录下查找,find方式查找文件消耗资源比较大,速度也慢一点;locate 文件名
:数据库文件中遍历,高效率;which 可执行文件
:是在PATH变量指定的路径中,搜索某个系统命令的位置(执行的到底是哪一个位置的命令)
SSH文件/文件夹传输
- 从服务器下载
scp [-r] <用户名>@<ip>:<文件路径> <本地路径>
- 上传
scp [-r] <本地路径> <用户名>@<ip>:<文件路径>
常用的解压命令
软链创建
ln -s [源文件] [目标文件]
:目标文件无需先创建;
其他
1、.bashrc文件(脚本启动文件)恢复:
cp /etc/skel/.bashrc ~/
。/etc/skel
存放各种初始配置文件
3、Linux查看IP地址:ifconfig
或hostname -I
4、Linux常用快捷键
5、lsb_release命令:显示LSB和特定版本的相关信息。
6、Linux命令行下载文件wget:wget [-option] url