আমি কোনও সংরক্ষণাগারের বিষয়বস্তু (ফাইল এবং ফোল্ডারগুলির তালিকা) দেখতে চাই, উদাহরণস্বরূপ কোনও tar.gz
ফাইল এটি বের না করেই ।
এটি করার জন্য কোনও পদ্ধতি আছে?
আমি কোনও সংরক্ষণাগারের বিষয়বস্তু (ফাইল এবং ফোল্ডারগুলির তালিকা) দেখতে চাই, উদাহরণস্বরূপ কোনও tar.gz
ফাইল এটি বের না করেই ।
এটি করার জন্য কোনও পদ্ধতি আছে?
উত্তর:
টার্মিনালে নীচের কমান্ডটি চালনা করুন টর্পজ ফাইলের বিষয়বস্তু এটি বের না করে দেখতে:
tar -tf filename.tar.gz
-t, --list
একটি সংরক্ষণাগারের বিষয়বস্তু তালিকাভুক্ত করুন। যুক্তিগুলি alচ্ছিক। যখন দেওয়া হয়, তারা তালিকার জন্য সদস্যদের নাম উল্লেখ করে।
tar -tvf xxx.tgz
এটি ফাইলগুলির বিশদ বৈশিষ্ট্যগুলিও দেখায়।
tree
কোনও গাছের দর্শন দেখতে পাইপ করুনtar -tf filename.tar.gz | tree
unzip -l
/unrar -l
আপনি ভিএমও ব্যবহার করতে পারেন
vim filename.tar.gz
ex +%p foo.tar.gz
।
vim file.tar.gz
) দিয়ে ডি ফাইল খুলবেন তখন এটিতে "কার্সার সহ একটি ফাইল নির্বাচন করুন এবং ENTER টিপুন" বলে says আপনি কেবল এটি করেন, একটি ফাইলের উপর দিয়ে কার্সারটি সরান এবং ENTER টিপুন।
less
gz
সংকুচিত এবং সঙ্কুচিত tar
সংরক্ষণাগারগুলিও খুলতে পারে । এটি আপনাকে একটি সুন্দর ls -l
স্টাইল আউটপুটও দেয় :
$ less ~/src/compiz_0.9.7.8-0ubuntu1.6.debian.tar.gz
drwxrwxr-x 0/0 0 2012-09-21 11:41 debian/
drwxrwxr-x 0/0 0 2012-08-09 13:32 debian/source/
-rw-rw-r-- 0/0 12 2012-08-09 13:32 debian/source/format
-rw-rw-r-- 0/0 25 2012-08-09 13:32 debian/libdecoration0-dev.docs
-rw-rw-r-- 0/0 25 2012-08-09 13:32 debian/compiz-dev.docs
-rw-rw-r-- 0/0 347 2012-08-09 13:32 debian/compiz-core.install
-rw-rw-r-- 0/0 125 2012-08-09 13:32 debian/libdecoration0-dev.install
...
এবং কারণ এটি less
, আপনি এটির মাধ্যমে স্ক্রোল করতে পারেন, এটি অনুসন্ধান করতে পারেন However তবে এটি অন্যান্য সংক্ষেপণ অ্যালগরিদমের (আমার অভিজ্ঞতার সাথে) খারাপভাবে ব্যর্থ হয়।
alias
জন্য বিশেষ বিকল্পগুলির সাথে আপনার একটি less
নেই? আমি এটি দেখার চেষ্টা করেছি, কিন্তু এটি কার্যকর হয়নি। আমার জন্য কোনও এলিয়াস সেটআপ নেই less
।
tar
এর -t
পতাকাটি আপনার জন্য সামগ্রী তালিকাবদ্ধ করবে। যে আপনার অন্য পতাকার যোগ করুন (তাই -tvfz
একটি জন্য tar.gz
, -tvfj
একটি জন্য tar.bz2
, ইত্যাদি) এবং আপনি আহরণের ছাড়া ব্রাউজ করতে পারেন। সেখান থেকে আপনি খুব সহজেই একক ফাইলগুলি বের করতে পারেন
tar -xvfz mybackup.tar.gz path/to/file
বড় সমস্যাটি tar
হ'ল অন্য সমস্ত পতাকা মনে রাখা । তাই আমি আমার সমস্ত সংরক্ষণাগারটি করার 7z
জন্য সাধারণত ( p7zip-full
প্যাকেজটির) উপর নির্ভর করি। আমি এটি পুরোপুরি ভাল বলে দাবি করব না তবে এটি প্রায় সমস্ত কিছু সমর্থন করে (সংক্ষেপণের ধরণ উল্লেখ না করে) এবং যুক্তিগুলি যৌক্তিক।
7z l archive.ext
7z e archive.ext path/to/file
এটা অবশ্যই কম সক্ষম, কিন্তু আপনি না প্রয়োজন এটি ব্যবহার করতে মানুষ পাতা।
মিডনাইট কমান্ডার ( mc
)ও আছেন। এটি কোয়াসিফ-গ্রাফিকাল টার্মিনাল ভিত্তিক ফাইল পরিচালনার জন্য একটি চারিদিক ব্যাডাস এবং কিছু হালকা পরীক্ষার সাথে এটি আপনাকে উভয় .tar.gz
এবং .7z
সংরক্ষণাগারগুলিতে ব্রাউজ করতে দেয় । আমি নিশ্চিত নই যে এটি আরও কতজনকে সমর্থন করে।
ঠিক আছে, এটি ফাইলের উপর নির্ভর করে। বেশিরভাগ (ডি) সংক্ষেপণ প্রোগ্রামগুলিতে একটি পতাকা থাকে যা একটি সংরক্ষণাগারগুলির বিষয়বস্তু তালিকাভুক্ত করে।
tar
/ tar.gz
/ tgz
/ tar.xz
/ tar.bz2
/ tbz
ফাইল
$ tar tf foo.tgz
dir1/
dir1/subdir1/
dir1/subdir1/file
dir1/subdir2/
dir1/subdir2/file
dir2/
zip
নথি পত্র
$ zip -sf foo.zip
Archive contains:
dir1/
dir2/
dir1/subdir1/
dir1/subdir1/file
dir1/subdir2/
dir1/subdir2/file
Total 6 entries (0 bytes)
7zip
নথি পত্র
$ 7z l foo.7z
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=en_US.utf8,Utf16=on,HugeFiles=on,4 CPUs)
Listing archive: foo.7z
--
Path = foo.7z
Type = 7z
Solid = -
Blocks = 0
Physical Size = 168
Headers Size = 168
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2015-03-30 19:00:07 ....A 0 0 dir1/subdir1/file
2015-03-30 19:00:07 ....A 0 0 dir1/subdir2/file
2015-03-30 19:07:32 D.... 0 0 dir2
2015-03-30 19:00:07 D.... 0 0 dir1/subdir2
2015-03-30 19:00:07 D.... 0 0 dir1/subdir1
2015-03-30 19:00:06 D.... 0 0 dir1
------------------- ----- ------------ ------------ ------------------------
0 0 2 files, 4 folders
rar
নথি পত্র
$ rar v foo.rar
RAR 4.20 Copyright (c) 1993-2012 Alexander Roshal 9 Jun 2012
Trial version Type RAR -? for help
Archive foo.rar
Pathname/Comment
Size Packed Ratio Date Time Attr CRC Meth Ver
-------------------------------------------------------------------------------
dir1/subdir1/file
0 8 0% 30-03-15 19:00 -rw-r--r-- 00000000 m3b 2.9
dir1/subdir2/file
0 8 0% 30-03-15 19:00 -rw-r--r-- 00000000 m3b 2.9
dir1/subdir1
0 0 0% 30-03-15 19:00 drwxr-xr-x 00000000 m0 2.0
dir1/subdir2
0 0 0% 30-03-15 19:00 drwxr-xr-x 00000000 m0 2.0
dir1
0 0 0% 30-03-15 19:00 drwxr-xr-x 00000000 m0 2.0
dir2
0 0 0% 30-03-15 19:07 drwxr-xr-x 00000000 m0 2.0
-------------------------------------------------------------------------------
6 0 16 0%
এটি বেশিরভাগ জনপ্রিয় সংরক্ষণাগার ফর্ম্যাটগুলির। এই সমস্ত বিষয় মাথায় রেখে আপনি একটি ছোট স্ক্রিপ্ট লিখতে পারেন যা আপনি যে ফাইলটি দিয়েছেন তার প্রসারণের উপর নির্ভর করে উপযুক্ত কমান্ড ব্যবহার করে:
#!/usr/bin/env bash
for file in "$@"
do
printf "\n-----\nArchive '%s'\n-----\n" "$file"
## Get the file's extension
ext=${file##*.}
## Special case for compressed tar files. They sometimes
## have extensions like tar.bz2 or tar.gz etc.
[[ "$(basename "$file" ."$ext")" =~ \.tar$ ]] && ext="tgz"
case $ext in
7z)
type 7z >/dev/null 2>&1 && 7z l "$file" ||
echo "ERROR: no 7z program installed"
;;
tar|tbz|tgz)
type tar >/dev/null 2>&1 && tar tf "$file"||
echo "ERROR: no tar program installed"
;;
rar)
type rar >/dev/null 2>&1 && rar v "$file"||
echo "ERROR: no rar program installed"
;;
zip)
type zip >/dev/null 2>&1 && zip -sf "$file"||
echo "ERROR: no zip program installed"
;;
*)
echo "Unknown extension: '$ext', skipping..."
;;
esac
done
আপনার মধ্যে সেই স্ক্রিপ্টটি সংরক্ষণ করুন PATH
এবং কার্যকর করুন ut তারপরে আপনি যে কোনও আর্কাইভের বিষয়বস্তু তালিকাভুক্ত করতে পারেন:
$ list_archive.sh foo.rar foo.tar.bz foo.tar.gz foo.tbz foo.zip
-----
Archive 'foo.rar'
-----
RAR 4.20 Copyright (c) 1993-2012 Alexander Roshal 9 Jun 2012
Trial version Type RAR -? for help
Archive foo.rar
Pathname/Comment
Size Packed Ratio Date Time Attr CRC Meth Ver
-------------------------------------------------------------------------------
dir1/subdir1/file
0 8 0% 30-03-15 19:00 -rw-r--r-- 00000000 m3b 2.9
dir1/file
0 8 0% 30-03-15 19:29 -rw-r--r-- 00000000 m3b 2.9
dir1/subdir1
0 0 0% 30-03-15 19:00 drwxr-xr-x 00000000 m0 2.0
dir1
0 0 0% 30-03-15 19:29 drwxr-xr-x 00000000 m0 2.0
dir2
0 0 0% 30-03-15 19:07 drwxr-xr-x 00000000 m0 2.0
-------------------------------------------------------------------------------
5 0 16 0%
-----
Archive 'foo.tar.bz'
-----
dir1/
dir1/subdir1/
dir1/subdir1/file
dir1/file
dir2/
-----
Archive 'foo.tar.gz'
-----
dir1/
dir1/subdir1/
dir1/subdir1/file
dir1/file
dir2/
-----
Archive 'foo.tbz'
-----
dir1/
dir1/subdir1/
dir1/subdir1/file
dir1/file
dir2/
-----
Archive 'foo.zip'
-----
Archive contains:
dir1/
dir1/subdir1/
dir1/subdir1/file
dir1/file
dir2/
Total 5 entries (0 bytes)
এবং যেহেতু কেউ উল্লেখ করেছেন যে কম সম্পাদক, স্বাভাবিকভাবেই, ইমাকগুলিও এটি করতে পারেন:
vim
আপনার সংরক্ষণাগারটি ব্রাউজ করতে এবং ফাইলগুলি খুলতে (কমপক্ষে পাঠ্যের মতো ফাইলগুলি) ব্যবহার করবেন না কেন :
vim archive.tar.gz
স্ক্রোল Enterকরতে এবং একটি ফাইল খোলার জন্য তীর কী টিপুন ।
মধ্যরাত্রি কমান্ডার ( mc
) ও যদিও আমি এই প্রতারণার যেহেতু MC একটি বিট বিবেচনা, একটি ভাল সংকুচিত ফাইল ভিউয়ার হয়েছে হয় একটি ফাইল ম্যানেজার, যদিও একটি টেক্সট-ভিত্তিক এক।
এছাড়াও, যদি আপনি যা চান তা হ'ল সংকুচিত আর্কাইভগুলির ভিতরে কী রয়েছে তা যদি আপনি দেখতে চান তবে প্রতিটি সংক্ষেপকের জন্য আপনি "ভিউ" কমান্ড শিখতে পারেন। tar tzvf
ট্যারি ফাইলের সামগ্রীগুলি আপনাকে প্রদর্শন করবে, unzip -l
এটি একটি জিপ ফাইলের জন্য করবে এবং আরও অনেক কিছু।
lesspipe
less
প্যাকেজের অংশ হিসাবে ডিফল্টরূপে ইনস্টল করা শেল স্ক্রিপ্ট যা tar.gz
আর্কাইভের বিষয়বস্তুগুলির পাশাপাশি বিভিন্ন সাধারণ সংরক্ষণাগার ফাইল ফর্ম্যাটগুলির একটি তালিকাও তালিকাভুক্ত করতে পারে ।
$ lesspipe example.tar.gz
drwxrwxr-x ubuntu/ubuntu 0 2018-11-16 05:32 example/
-rw-rw-r-- ubuntu/ubuntu 7 2018-11-16 05:32 example/ask.txt
-rw-rw-r-- ubuntu/ubuntu 7 2018-11-16 05:32 example/ubuntu.txt
পরিবেশের পরিবর্তনশীল যথাযথভাবে সেট করা থাকলে এটি ইনপুট প্রিপ্রোসেসর হিসাবে less
কমান্ড দ্বারা ( অলির উত্তর দেখুন ) বলা হয় $LESSOPEN
।
যদি দুঃসাহসী বোধ হয় তবে vi /usr/bin/lesspipe
এটি কী আদেশ ব্যবহার করে তা দেখার জন্য শিখর করুন । tar.gz
এক্সটেনশনের সাথে মিলে যাওয়া ফাইলগুলির জন্য , আমরা দেখতে পাচ্ছি যে এটি tar tzvf
হুডের নীচে --force-local
একটি অস্পষ্ট বৈশিষ্ট্যটি অক্ষম করার বিকল্পের সাথে ব্যবহার করে tar
অন্যথায় দূরবর্তী টেপ ড্রাইভ ব্যবহার করার জন্য একটি কমান্ড দিয়ে ফাইলের নামগুলিতে কলোনকে বিভ্রান্ত করবে :
*.tar.gz|*.tgz|*.tar.z|*.tar.dz)
tar tzvf "$1" --force-local
নোট করুন যেহেতু এটি প্রাথমিকভাবে প্রিপ্রোসেসর হিসাবে ডিজাইন করা হয়েছে তাই এটি less
ফাইলের ধরণটি স্বীকৃতি না দিলে কিছুই আউটপুট দেয় না। আমি লক্ষ্য করেছি যে .tar.gz
ডাউনলোড করা কিছু ফাইল কাজ করবে না কারণ তারা ফাইলের নাম সত্ত্বেও প্রকৃতপক্ষে gzip সংক্ষেপণ ব্যবহার করে নি।
আপনি যদি সংরক্ষণাগারটি বের করে না ফেলে বা কোনওভাবেই ডিস্কে না লিখে কোনও সংরক্ষণাগারের মধ্যে কোনও নির্দিষ্ট ফাইলের বিষয়বস্তু দেখতে চান তবে কোনও ফাইলের পরিবর্তে স্টাডাউটে লিখতে -O (মূলধন) পতাকা ব্যবহার করুন।
tar -Oxvf gerald.tar.gz /path/to/sandra.txt | less
নিশ্চিত হয়ে নিন যে ও এর আগে আসবে বা এটি ফাইলের নাম হিসাবে ওকে পার্স করার চেষ্টা করবে।