ls //呼出目录结构
ls -a //显示隐藏文件
ls -l //显示文件详细信息
ls -lrt //按时间显示文件详细信息
ls -ld (/root) //显示当前目录详细信息
echo “Hello” //输出Hello
echo -e //会识别引号中的代码(否则会当成字符处理)
su - //输入密码后切换到超级用户ls
su username //切换用户
vi filename //filename为文件名,打开该文件
:q //退出该文件
:wq 或F1+ZZ //保存并退出该文件
:q! //强制退出该文件
pwd //显示工作路径
mv A B //将A重命名为B
mv /a /b/c //将/a目录移动到/b下,并重命名为c
shutdown -h now //关机
shutdown -r now (reboot) //重启
ip addr //查网络地址
cp /a/A c/B //将a目录下的A文件拷贝至c目录下,并改名为B
//(-a 复制包括子目录文件;-f 强制复制;-r 递归复制)
touch test //新建文件夹,建了一个叫test的文件夹
mkdir test //新建目录(暂时不知道有什么区别,上面那个建的进不去)
rm test //删除(-f 强制删除;-i 删除前询问;-r 递归删除,删除目录)
cat //用于显示文本内容,全部输出
EOF //表示文本结束符
cat <<EOF>> abcd.txt //之间的文本行都会作为stdin数据提交
ps //查看进程(-e:显示所有进程,-f全格式显示,可以打-ef)
Xshell中的命令
echo 输出
#调用调色功能
cecho(){
echo -e "\033[$1m$2\033[0m" //echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"
}
cecho 30 “黑色”
cecho 31 “红色”
cecho 32 “深绿”
cecho 33 “黄色”
cecho 34 “蓝色”
cecho 35 “紫色”
cecho 36 “青色”
cecho 37 “白色”
linux快捷键
Ctrl + u //删除光标之前到行首的字符
Ctrl + k //删除光标之前到行尾的字符
Ctrl + Backspace //删除前一个字符
Ctrl + c //取消当前行输入的命令,相当于Ctrl + Break
Ctrl + a //光标移动到行首(ahead of line),相当于通常的Home键
Ctrl + e //光标移动到行尾(end of line)
Ctrl + f //光标向前(forward)移动一个字符位置
Ctrl + b //光标往回(backward)移动一个字符位置
Ctrl + l //清屏,相当于执行clear命令
Ctrl + r //显示:号提示,根据用户输入查找相关历史命令(reverse-i-search)
Ctrl + w //删除从光标位置前到当前所处单词(word)的开头
Ctrl + t //交换光标位置前的两个字符
Ctrl + y //粘贴最后一次被删除的单词
Ctrl + Alt + d //显示桌面
Alt + b //光标往回(backward)移动到前一个单词
Alt + d //删除从光标位置到当前所处单词的末尾
Alt + F2 //运行
Alt + F4 //关闭当前窗口
Alt + F9 //最小化当前窗口
Alt + F10 //最大化当前窗口
Alt + Tab //切换窗口
Alt +按住左键 //移动窗口(或在最下面的任务栏滚动鼠标滑轮)
文本处理
grep str /tmp/test //在文件 '/tmp/test' 中查找 "str"
grep ^str /tmp/test //在文件 '/tmp/test' 中查找以 "str" 开始的行
grep [0-9] /tmp/test //查找'/tmp/test' 文件中所有包含数字的行
grep str -r /tmp/* //在目录 '/tmp' 及其子目录中查找 "str"
diff file1 file2 //找出两个文件的不同处
sdiff file1 file2 //以对比的方式显示两个文件的不同
查看文件内容
cat file1 //从第一个字节开始正向查看文件的内容
head -2 file1 //查看一个文件的前两行
more file1 //查看一个长文件的内容
less file1 //查看文件,可用上下左右查看,q退出(这命令可装逼)
wc file1 //显示文件信息(-c字符数、-l行数、-w单词数)
tac file1 //从最后一行开始反向查看一个文件的内容
tail -3 file1 //查看一个文件的最后三行
查找
find / -name file1 (-iname:不区分大小写) //从 '/' 开始进入根文件系统查找文件和目录
find / -user user1 //查找属于用户 'user1' 的文件和目录
find /home/user1 -name \*.bin //在目录 '/ home/user1' 中查找以 '.bin' 结尾的文件
find /usr/bin -type f -atime +100 //查找在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 //查找在10天内被创建或者修改过的文件
locate \*.ps //寻找以 '.ps' 结尾的文件,先运行 'updatedb' 命令
find -name '*.[ch]' | xargs grep -E 'expr' //在当前目录及其子目录所有.c和.h文件中查找 'expr'
find -type f -print0 | xargs -r0 grep -F 'expr' //在当前目录及其子目录的常规文件中查找 'expr'
find -maxdepth 1 -type f | xargs grep -F 'expr' //在当前目录中查找 'expr'
压缩和解压
bzip2 file1 //压缩 file1
bunzip2 file1.bz2 //解压 file1.bz2
gzip file1 //压缩 file1
gzip -9 file1 //最大程度压缩 file1
gunzip file1.gz //解压 file1.gz
tar -cvf archive.tar file1 //把file1打包成 archive.tar
//-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数
tar -cvf archive.tar file1 dir1 //把 file1,dir1 打包成 archive.tar
tar -tf archive.tar //显示一个包中的内容
tar -xvf archive.tar //释放一个包
tar -xvf archive.tar -C /tmp //把压缩包释放到 /tmp目录下
zip file1.zip file1 //创建一个zip格式的压缩包
zip -r file1.zip file1 dir1 //把文件和目录压缩成一个zip格式的压缩包
unzip file1.zip //解压一个zip格式的压缩包到当前目录
unzip test.zip -d /tmp/ //解压一个zip格式的压缩包到 /tmp 目录
yum工具
yum -y install [package] //下载并安装一个rpm包
yum localinstall [package.rpm] //安装一个rpm包,使用你自己的软件仓库解决所有依赖关系
yum -y update //更新当前系统中安装的所有rpm包
yum update [package] //更新一个rpm包
yum remove [package] //删除一个rpm包
yum list //列出当前系统中安装的所有包
yum search [package] //在rpm仓库中搜寻软件包
yum clean [package] //清除缓存目录(/var/cache/yum)下的软件包
yum clean headers //删除所有头文件
yum clean all //删除所有缓存的包和头文件
网络
ifconfig eth0 //显示一个以太网卡的配置
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 //配置网卡的IP地址
ifdown eth0 //禁用 'eth0' 网络设备
ifup eth0 //启用 'eth0' 网络设备
iwconfig eth1 //显示一个无线网卡的配置
iwlist scan //显示无线网络
ip addr show //显示网卡的IP地址
管道
连接两个毫不相关的程序,把一个程序的结果交给另一个来处理
例:
ps -ef | grep mysql //全格式显示所有进程 | 查找带mysql关键字的行
cat menu.sh | tr [a-z] [A-Z] > menu.txt //获取menu.sh的内容 | 把所有小写转为大写输出到txt
echo 70-9 | bc //输出70-9的结果
echo{1..100} |tr ‘ ’ ‘+’ |bc //输出1-100用空格隔开|把空格改为+号|计算
其他
top //罗列使用CPU资源最多的linux任务 (输入q退出)
pstree //以树状图显示程序
man ping //查看参考手册(例如ping 命令)
passwd //修改密码
df -h //显示磁盘的使用情况
cal -3 //显示前一个月,当前月以及下一个月的月历
cal 10 1988 //显示指定月,年的月历
date --date '1970-01-01 UTC 1427888888 seconds' //把一相对于1970-01-01 00:00的秒数转换成时间
> //将一条命令的执行结果重定向(保存)到其他设备(文件)
>> //上一条是覆盖原有内容,这一条是追加
who //显示当前用户信息
$USER //用户名
uname -a //输出操作系统版本信息
bc //Linux自带的计算器
echo {1..100} //输出1-100,用空格分格
让Linux链接网络
转到root权限
进入 /etc/sysconfig/network-scripts文件夹
打开ifcfg-开头的文件(教程是ifcfg-eno32文件,我是ifcfg-ens33)
修改ONBOOT=yes,然后保存,reboot重启。
重启后,ping www.baidu.com
通了即可以了(CTRL+C停止ping)
Linux下载文件
下载文件需要用到wget命令,该命令需要安装
yum -y install wget安装该命令
然后下文件时
例:
wget http://nginx.org/download/nginx-1.13.12.tar.gz这样既可
判断是否为空
if [[ ! -n $username ]] ;then
echo "用户名不能为空"
continue
else
break
fi
组合句:
题目:
Hello, I am 用户名,The system version is here,please help me to check it ,thanks!
操作系统版本信息
echo -e 'Hello, I am ' $USER ',The system version is here,please help me to check it,thanks!\n' `uname -a`