社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
拷贝:
cp file1 file2
cp -r dir1 dir2
移动:
mv file …
mv file dir/
重命名:
mv file1 file2
mv dir1 dir2 #dir2 存在,则为移动操作(dir1移动到dir2内)
删除:
rm file
rm -r dir
创建文件:
touch a.txt
touch .aa (创建隐藏文件)
>a.txt
查看文件:
cat
less (分页查看 ctrl-- ctrl++ 缩小、放大)
查看文件类型:
file
通配符:
*
解包:
unzip 包名
tar zxvf 包名 (解压tar.gz)
tar jxvf 包名 (解压tar.bz2)
打包:
zip -r 包名 目录/
tar zcvf 包名 目录/
tar jcvf 包名 目录/
默认的文件描述符:
stdin: 0
stdout: 1
stderr: 2
标准输出可以使用重定向符
输出重定向符: >
cat file1 > file
追加重定向符号:>>
cat file1 >> file
利用cat file1 file2 > file 也可以完成追加的功能
标准错误输出不可以直接使用>,要加上标准错误输出的文件描述符,即:2>
标准输入使用<重定向
管道:
管道符: |
cat files.txt|uniq|grep txt|sort
文件权限:
获取进程号:
ps aux
后台运行:
firefox&
或 firefox
ctrl z(暂停)
bg (正在后台运行的程序)
fg (后台运行的程序切换到前台)
ln -s aaa bbb 为可执行程序aaa新建一个名为bbb的链接
定位:
locate --regrexp xxx (使用正则表达式查找)
locate 查找的是数据库updatedb,该数据库每天更新,所以新创建的文件找不到 可以先使用sudo updatedb强制更新之后,即可使用locate查找到新创建的文件
find
find . 查找当前目录下的所有文件
find .|grep .txt
find . -type f (只看文件)
find . -type d(只看目录)
find . -type f -exec ls -l ‘{}’ ‘;’
find . -type f -exec grep -ni hello ‘{}’ ‘;’ -print (查找目录下所有的文件,并执行grep匹配有hello关键字的文件及路径, -n表示同时输出行号,-ni表示匹配时忽略大小写)
网络操作:
ssh 远程操作 服务器端在22端口监听,服务器安装openssh-server,客户端安装openssh-client
ssh ip/域名
ssh-keygen 生成秘钥
cd ~/.ssh下面就会有id_rsa(私钥) id_rsa.pub(公钥)
ssh-copy-id 用户名@ip/域名 (拷贝公钥到服务器,以后ssh登录就无需输入密码了,或者手动拷贝到服务器的/home/usrname/.ssh/authorized_keys)
tmux
rsync 数据传输
rsync -r mydir 域名: 将本地文件夹拷贝到远程服务器
rsync -r mydir/ 域名:mydir/ 将本地mydir内容同步到远程服务器
rsync -av mydir/ 域名:mydir/ 将本地目录新增的文件同步到远端
rsync -av --delete ~/Desktop/lgcb/video/ 域名:~/media/lgcb/ --dry-run (看本地与远端的目录差别)
rsync -av --delete ~/Desktop/lgcb/video/ 域名:~/media/lgcb/ (真正的同步动作)
编译安装开源软件步骤:
1 解压缩
2 ./configure
3 make
4 sudo make install
安装deb包:
sudo dpkg -i xxx.deb
dpkg -l 列出当前安装的所有包名
dpkg -L 包名 列出该包下面所有文件
dpkg -S 文件 列出该文件出自哪个包
sudo apt-get install xxx
sudo apt-get remove xxx
sudo apt-get purge xxx (连着配置文件一起删除)
apt-cache search xx | less (不知道精确包名时可以查)
shell脚本编写
$# 执行参数个数
$0 执行文件名
$1 第一个参数
’ '包裹命令,是直接获取命令输出
判断:
if [ 1=1]
then
echo "hello"
fi
循环:
cd $1
for file in 'ls'
do
mv $file $file.txt
done
’ ’ 包裹的语句,在远程服务器上执行
ssh -t username@domainname 'touch a.txt'
sed “s/7000/7001/g” redis-7000.conf > redis-7001.conf (字符串替换)
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!