Linux shell常用命令Linux shell常用命令汇总
对于经常使用linux系统linuxsl命令的博主来说linuxsl命令,基本常用linuxsl命令的shell命令是少不了的,下面为大家总结了Linux shell的常用命令 , 希望对大家有所帮助!
1.检查远程端口是否对bash开放linuxsl命令:
echo /dev/tcp/8.8.8.8/53echo "open"
2.让进程转入后台linuxsl命令:
Ctrlz
3、将进程转到前台:
fg
4.产生随机的十六进制数 , 其中n是字符数:
openssl rand -hex n
5.在当前shell里执行一个文件里的命令:
source /home/user/file.name
6.截取前5个字符:
${variable:0:5}
7.SSH debug 模式:
ssh -vvv user@ip_address
8.SSH with pem key:
ssh user@ip_address -i key.pem
9.用wget抓取完整的网站目录结构,存放到本地目录中:
wget -r --no-parent --reject "index.html*"-P /home/user/dirs
10.一次创建多个目录:
mkdir -p /home/user/{test,test1,test2}
11.列出包括子进程的进程树:
ps axwef
12.创建 war 文件:
jar -cvf name.war file
13.测试硬盘写入速度:
dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img
14.测试硬盘读取速度:
hdparm -Tt /dev/sda
15.获取文本的md5 hash:
echo -n "text" | md5sum
16.检查xml格式:
xmllint --noout file.xml
17.将tar.gz提取到新目录里:
tar zxvf package.tar.gz -C new_dir
18.使用curl获取HTTP头信息:
curl -I
19.修改文件或目录的时间戳(YYMMDDhhmm):
touch -t 0712250000 file
20.用wget命令执行ftp下载:
wget -m
21.生成随机密码(例子里是16个字符长):
LANG=c/dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;
22.快速备份一个文件:
cp some_file_name{,.bkp}
23.访问Windows共享目录:
smbclient -U "DOMAIN\user" //dc.domain.com/share/test/dir
24.执行历史记录里的命令(这里是第100行):
!100
25.解压:
unzip package_name.zip -d dir_name
26.输入多行文字(CTRLd 退出):
cattest.txt
27.创建空文件或清空一个现有文件:
\ test.txt
28.与Ubuntu NTP server同步时间:
ntpdate ntp.ubuntu.com
29.用netstat显示所有tcp4监听端口:
netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'
30.qcow2镜像文件转换:
qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \precise-server-cloudimg-amd64-disk1.raw
31.重复运行文件 , 显示其输出(缺省是2秒一次):
watch ps -ef
32.所有用户列表:
getent passwd
33.Mount root in read/write mode:
mount -o remount,rw /
34.挂载一个目录(这是不能使用链接的情况):
mount --bind /source /destination
35.动态更新DNS server:
nsupdateeof p=""/eof
update add $HOST 86400 A $IP
send
EOF
36.递归grep所有目录:
grep -r "some_text" /path/to/dir
37.列出前10个最大的文件:
lsof / | awk '{ if($71048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail
39.打开Vim并跳到文件末:
vimsome_file_name
40.Git 克隆指定分支(master):
git clone git@github.com:name/app.git -b master
41.Git 切换到其它分支(develop):
git checkout develop
42.Git 删除分支(myfeature):
git branch -d myfeature
43.Git 删除远程分支
git push origin :branchName
44.Git 将新分支推送到远程服务器:
git push -u origin mynewfeature
45.打印历史记录中最后一次cat命令:
!cat:p
46.运行历史记录里最后一次cat命令:
!cat
47.找出/home/user下所有空子目录:
echo /dev/tcp/8.8.8.8/53echo "open"
1.检查远程端口是否对bash开放:
find /home/user -maxdepth 1 -type d -empty
48.获取test.txt文件中第50-60行内容:
test.txt sed -n '50,60p'
49.运行最后一个命令(如果最后一个命令是mkdir /root/test, 下面将会运行: sudo mkdir /root/test):
sudo !!
50.创建临时RAM文件系统 – ramdisk (先创建/tmpram目录):
mount -t tmpfs tmpfs /tmpram -o size=512m
51.Grep whole words:
grep -w "name" test.txt
52.在需要提升权限的.情况下往一个文件里追加文本:
echo "some text" | sudo tee -a /path/file
53.列出所有kill signal参数:
kill -l
54.在bash历史记录里禁止记录最后一次会话:
kill -9 $$
55.扫描网络寻找开放的端口:
nmap -p 8081 172.20.0.0/16
56.设置git email:
git config --global user.email "me@example.com"
57.To sync with master if you have unpublished commits:
git pull --rebase origin master
58.将所有文件名中含有”txt”的文件移入/home/user目录:
find -iname "*txt*" -exec mv -v {} /home/user \;
59.将文件按行并列显示:
paste test.txt test1.txt
60.shell里的进度条:
pv data.log
61.使用netcat将数据发送到Graphite server:
echo "hosts.sampleHost 10 `date%s`" | nc 192.168.200.2 3000
62.将tabs转换成空格:
expand test.txttest1.txt
63.Skip bash history:
space cmd
64.去之前的工作目录:
cd -
65.拆分大体积的tar.gz文件(每个100MB),然后合并回去:
split –b 100m /path/to/large/archive /path/to/output/files
cat files*archive
66.使用curl获取HTTP status code:
curl -sL -w "%{http_code}\\n"-o /dev/null
67.设置root密码 , 强化MySQL安全安装:
/usr/bin/mysql_secure_installation
68.当Ctrlc不好使时:
Ctrl\
69.获取文件owner:
stat -c \u file.txt
70.block设备列表:
lsblk -f
71.找出文件名结尾有空格的文件:
find . -type f -exec egrep -l "$" {} \;
72.找出文件名有tab缩进符的文件
find . -type f -exec egrep -l $'\t' {} \;
73.用”=”打印出横线:全选复制放进笔记
printf '0s\n' | tr ' ' =;
linux 为什么每个文件都有一个块大小linuxsl命令你所说的东西没听说过 。感觉你似乎语无伦次了……
不过所有文件系统的硬盘数据存储 , 都是基于块来分配的,最少一个块 , 只能按块分配 , 一个块零1字节的文件,也需要2个块 。
而且所有文件,不管是不是目录,都会分配块 。linuxsl命令我记得目录的块另有用途,好像是用来存放他的子目录和文件相关信息用的 。
不过我记得有几个文件系统有个例外 , 他的文件分配表存储量比较大,如果很小的文件,可以直接存放在文件分配表里面 , 好像 NTFS 就有这个功能 。
不过文件分配表依然也是按照块进行存储的 。硬件限制如此,没办法的事情 。
Linux下查找大文件 Linux上查找最大文件的3种方法
第一种:ls
最简单的方法就是借助 ls 命令,因为 ls 命令本身输出是带文件大小信息的 。
比如 , 我要列出 /data/log/ 目录中的20个最大文件,可以:
ls -lSh /data/log/ | head -20
第二种:find
find 本身就是查找命令 , 可以递归查找一个目录的子目录,所以用它是自然的 。
比如,查找/etc目录下最大的5个文件:
find /etc -type f -printf “%s\t%p\n” | sort -n | tail -5 | xargs ls -Slh
查找当前用户名下最大的10个文件
find $HOME -type f -printf “%s\t%p\n” | sort -nr | head -10 | xargs ls -Slh
查询大于200M的文件
find / -type f -size200M | xargs ls -Slh
查询100M和200M之间的文件
find / -type f -size100M -size200M | xargs ls -Slh
查询root目录下最大的5个文件
find /root -type f -exec ls -s {} ; | sort -n | tail -n5 | xargs ls -Slh
查询/目录下10天以前最大的5个文件
find / -type f -mtime10 -printf “%s\t%p\n” | sort -n | tail -5 | xargs ls -Slh
第三种:du
du 命令可以查看磁盘空间的使用情况,自然也可以用来查看磁盘上占用空间较多的文件和文件夹 。
查找/root下5个最大的文件
du -ah /root | sort -nr | head -n5
查找当前目录下最大的5个目录
du -ah | sort -nr | head -n5
查找根目录下最大目录/文件(包括子文件夹)
du -Sh / | sort -rh | head -n10
只看大小在 GB 范围内的所有文件
du -ah / | grep “[0-9]G\b”
涉及到的命令参数:
find:
-exec执行指令:假设find指令的回传值为True,就执行该指令;
-mtime n 查找系统中最后n天被改变文件数据的文件大于 -小于
-type 查找某一类型的文件
b -块设备文件;
c -字符设备文件;
d -目录;
p -管道文件;
f -普通文件;
l -符号链接文件;
s -socket文件;
-printf输出格式:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出 。格式可以自行指定;
sort:
-n 依照数值的大小排序;
-r 以相反的顺序来排序;
xargs:传递参数
ls -Slh
-Sl 从大到小显示详情
-Slr 从小到大显示详情
-h humans 以人类易读的方式显示(正常情况下显示为bit,加上-h后 显示的为KB MB GB TB等)
du:
-a 显示所有目录或文件的大小
-h 以K,M,G为单位 , 提高信息可读性
-S 显示目录的大小 , 但不含子目录大小
linux 磁盘空间问题 , ls -hl 命令查到的文件为什么都很小就几到即使KB,但是磁盘空间却快满了?因为sl -hl只会显示普通文件linuxsl命令的大小
至于文件夹linuxsl命令,不会计算文件夹里面还有多少内容 。一般情况下linuxsl命令,文件夹的大小为4.0KB
linux命令之ls -alls -al命令来观察文件权限,每个文件linuxsl命令的权限都用10位表示,其中第一段占1位,表示第一个字符代表这个文件的类型(目录,文件或链接文件) 。
若为“d”则是目录,若为“-”则是文件,若为“l”则表示链接文件,若为“”则表示为设备文件里面的可供存储的周边设备,若为“c”则表示为设备文件里面的串行端口设备,如键盘鼠标 。
第二段占3位 , 表示权限,均为[rwx]的三个参数的组合 。其中r表示可读,w表示可写,x表示可执行 , 如果没有权限 , 则会显示减号“-” 。
扩展资料:
Linux命令注意事项:
Linux的命令(也包括文件名等等)对大小写是敏感的,也就是说,如果linuxsl命令你输入的命令大小写不对的话,系统是不会做出你期望的响应的 。
Linux常用的命令:
clear , 这个命令是用来清除屏幕的,它不需要任何参数 , 和dos下面的cls具有相同的功能,如果你觉得屏幕太紊乱,就可以使用它清除屏幕上的信息 。
目录切换(cd),使用cd(Change Directory)命令可以在不同目录之间切换 。
列出目录中的文件(ls),在Linux命令行终端中使用的最多的命令就是这个ls,它可以帮助我们列出当前目录下都有哪些文件 。
参考资料来源:百度百科-Linux命令
Linux/Unix里,ln -s这个命令是做什么的?我是小白,谢谢你 。用来建立一个软链接,而ln -s /usr/lib/libX11.3 libX11.sl的意思为:为/usr/lib/libX11.3文件建立一个名为libX11.sl的软链接 。
命令格式:
ln [参数][源文件或目录][目标文件或目录]
参数
1、-b 删除,覆盖以前建立的链接
2、-d 允许超级用户制作目录的硬链接
3、-f 强制执行
4、-i 交互模式,文件存在则提示用户是否覆盖
5、-n 把符号链接视为一般目录
6、-s 软链接(符号链接)
7、-v 显示详细的处理过程
扩展资料
软链接解释
1、软链接,以路径的形式存在 。类似于Windows操作系统中的快捷方式 。
2、软链接可以 跨文件系统 , 硬链接不可以 。
3、软链接可以对一个不存在的文件名进行链接 。
4、软链接可以对目录进行链接 。
硬链接:
1、硬链接,以文件副本的形式存在 。但不占用实际空间 。
2、不允许给目录创建硬链接 。
3、硬链接只有在同一个文件系统中才能创建 。
【linuxsl命令 linux命令ls lh】linuxsl命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux命令ls lh、linuxsl命令的信息别忘了在本站进行查找喔 。
推荐阅读
- 直播里的主播为了什么,主播为什么赚那么多钱
- wordpress用什么写的,wordpress适合seo吗
- 怎么把笔记本改路由器模式,如何用笔记本改路由器密码
- ppt制作什么软件好,ppt制作软件推荐
- 每组数据分页php 每组数据分页在哪
- mysql查询一个数字串里面包含某个数字,mysql查询含有某个字的信息
- gis查询和统计分析的应用,gis查询方法有哪些
- php数据库连接api php数据库连接文件
- 数据库mysql怎么导出文件,mysql数据库怎么导出