Linux/C2/Redirection-Pipes/Telugu

From Script | Spoken-Tutorial
Revision as of 13:35, 23 August 2017 by Madhurig (Talk | contribs)

Jump to: navigation, search
Time Narration
00:00 రీడైరక్షన్ మరియు పైప్స్‌ గురించి తెలియ బరిచే స్పోకెన్ ట్యుటోరియల్‌కు స్వాగతం.
00:07 నేను ఉబంటు 10.04 ఉపయోగిస్తున్నాను.
00:09 లైనక్స్ ఆపరేటింగ్ సిస్టమ్ మరియు కమాండ్ల గురించి, ప్రాధమిక అవగాహన ఉందని భావిస్తున్నాము.
00:16 మీకు ఆసక్తి ఉంటే, అది క్రింది వెబ్‌సైట్‌లో, మరొక స్పోకెన్ ట్యుటోరియల్ ద్వారా లభ్యమవుతుంది.
00:22 లైనక్స్ కేస్ సెన్సిటివ్ అని కూడా గమనించండి.
00:25 ప్రత్యేకంగా తెలుపబడితే తప్ప, ఈ ట్యుటోరియల్‌లోని అన్ని కమాండ్లు లోయర్ కేసులో ఉంటాయి.
00:32 లైనక్స్‌లో ఎక్కువ భాగం పనిని టెర్మినల్ ద్వారా చేస్తాము.
00:35 ఒక కమాండ్‌ను అమలు చేయాలంటే, సాధారణంగా కీబోర్డ్ ద్వారా టైప్ చేస్తాం.
00:39 ఉదాహరణకు, తేదీ మరియు సమయంను కనుకొనేడుకు,
00:41 కీబోర్డ్ ద్వారా "date" అని టైప్ చేసి ఎంటర్ నొక్కుదామ్.
00:46 సాధారణంగా కీబోర్డ్ ద్వారా ఇన్‌పుట్ అందిస్తాం.
00:48 అదేవిధంగా, కమాండ్ యొక్క అవుట్‌పుట్ కూడా టెర్మినల్ పై కనిపిస్తుంది.
00:56 ఏదో ఒక్క కమాండ్‌ను అమలు పరచి నప్పుడు కొన్ని తప్పులు దొర్లాయని అనుకుందాం.
00:59 ఉదాహరణకు "cat space aaa" అని టైప్ చేసి ఎంటర్ నొక్కుదాం.
01:05 'aaa' అనే పేరు గల ఫైల్ అసలు లేదు.
01:08 అది తెలుపుతూ ఒక ఎర్రర్ కనిపిస్తుంది.
01:10 ఎర్రర్ కూడా టెర్మినల్ విండో పైన కనిపిస్తుంది. అందుకే టెర్మినల్ వద్ద ఎర్రర్ రిపోర్టింగ్ కూడా చూస్తాం.
01:20 ఇన్‌పుటింగ్, అవుట్‌పుటింగ్, ఎర్రర్ రిపోర్టింగ్ అనేవి కమాండ్లకు సంబంధించిన మూడు ప్రత్యేక చర్యలు.
01:24 రీడైరక్షన్ గురించి నేర్చుకునే ముందు రెండు ముఖ్యమైన విషయాల గురించి నేర్చుకోవాలి. అవి stream మరియు file descriptor.
01:31 Bash వంటి ఒక లైనక్స్ షెల్, ఇన్ పుట్ అందుకొని, అవుట్ పుట్ని ఒక సీక్వెన్స్ లేదా క్యారెక్టర్ల ప్రవాహంల పంపుతుంది.
01:37 ప్రతి క్యారెక్టర్ దాని ముందు, వెనుక ఉన్నదాని నుండి స్వతంత్రంగా ఉంటుంది.
01:41 IO పరిజ్ఞ్యనము ఉపయోగించడం వలన స్ట్రీమ్స్ (Streams) గ్రహించబడతాయి.
01:44 అసలైన క్యారెక్టర్ల వరుస ఫైల్, కీ బోర్డ్, విండో మొదలైన వాటిలో ఎక్కడ నుండి వచ్చింది, లేదా వెళ్లింది అనేది ముఖ్యం కాదు.
01:51 లైనక్స్‌లో, తెరవ బడ్డ ప్రతి ప్రాసెస్కు ఒక పూర్ణసంఖ్యతో సంబంధం ఉంటుంది.
01:57 ఈ సంఖ్యా విలువలు file descriptorsగా పిలువబడతాయి.
02:05 లైనక్స్ షెల్స్ మూడు ప్రామాణిక I/O streams ఉపయోగిస్తాయి.
02:08 వాటిలో ప్రతి దానికి ఒక ప్రసిద్ధి చెందిన file descriptorతో సంబంధం ఉంటుంది.
02:12 Stdin ప్రామాణిక ఇన్ పుట్ స్ట్రీమ్ (input stream).
02:15 అది కమాండ్లకు ఇన్‌పుట్ అందిస్తుంది.
02:17 దాని file descriptor 0.
02:19 Stdout ప్రామాణిక ఔట్ పుట్ స్ట్రీమ్(output stream).
02:22 అది కమాండ్ల నుండి అవుట్‌పుట్‌‌లను చూపుతుంది. దాని file descriptor 1.
02:26 stderr ప్రామాణిక ఎరర్ స్ట్రీమ్(error stream).

అది కమాండ్ల నుండి ఎరర్ అవుట్‌పుట్‌‌(error output) చూపుతుంది. దాని file descriptor 2.

02:36s Input streams ప్రోగ్రాములకు ఇన్ పుట్ అందిస్తుంది.
02:40 అప్రమేయంగా అది టెర్మినల్ కీస్ట్రోక్స్ నుండి తీసుకుంటుంది.
02:44 Output streams టెక్స్ట్ కారక్టర్లను అప్రమేయంగా టెర్మినల్ వద్ద ముద్రిస్తుంది.
02:47 వాస్తవానికి ఈ టెర్మినల్ ఒక ASCII టైప్‌రైటర్ లేదా డిస్ప్లే టెర్మినల్.
02:52 కానీ అది ఒక గ్రాఫికల్ డస్క్ టాప్‌ పై టెక్స్ట్ విండోగా కనిపిస్తుంది.
02:56 అప్రమేయంగా 3 streams కొన్ని ఫైళ్లతో జతకూడి ఉన్నాయని చూస్తాము.
03:01 లైనక్స్‌లో ఈ సాధారణ రీతిని మార్చవచ్చు.
03:04 3 streamsను ఇతర ఫైళ్లతో కలుపవచ్చు.
03:07 ఈ ప్రక్రియ రీడైరక్షన్ గా పిలువబడుతుంది.
03:09 3 స్ట్రీమ్లలో రీడైరక్షన్ ఏ విధంగా చేస్తామో చూద్దాం.
03:14 ముందు స్టాండర్డ్ ఇన్పుట్ ఏ విధంగా రీడైరెక్ట్ చేయబడుతుందో చూద్దాం.
03:17 < (left angled bracket) operator ను ఉపయోగించి,

ఒక ఫైల్ నుండి standardin ను రిడైరెక్ట్ చేద్దాం. ఇది ఎలా చెయ్యాలో చూద్దమ్.

03:22 ఒక ఫైల్‌లోని, వరసలు పదాలు మరియు క్యారెక్టర్ల సంఖ్యను కనుగొనడానికి wc కమాండ్ ఉపయోగపడుతుందని తెలుసు.
03:28 టెర్మినల్ విండో పై wc అని టైప్ చేయండి.
03:31 ఎంటర్ నొక్కండి.
03:32 ఏం జరుగుతుంది ? ఒక బ్లింకింగ్ కర్సర్ కనిపిస్తుంది. అంటే కీబోర్డ్ ను ఉపయోగించి ఎంటర్ చేయాలి.
03:37 ఉదాహరణకు "This tutorial is very important" అని టైప్ చేయండి.
03:46 ఎంటర్ నొక్కండి.
03:48 Ctrl మరియు d కీ లను కలిపి నొక్కండి.
03:52 ఎంటర్ చేసిన లైన్ల పై కమాండ్ పనిచేస్తుంది.
03:55 ఈ కమాండ్ టెర్మినల్‌ పై అవుట్‌పుట్ చూపుతుంది.
03:57 "wc" కమాండ్ తరువాత ఏ పైలూ ఇవ్వబడలేదు.
04:01 అందువలన, ప్రామాణిక ఇన్పుట్ స్ట్రీమ్ నుండి ఇన్పుట్ తీసుకుంటుంది.
04:04 ప్రామాణిక ఇన్పుట్ స్ట్రీమ్ సాధారణంగా కీబోర్డ్‌తో జతకూడి ఉంటుంది.

అందువలన wc కీబోర్డ్ నుండి ఇన్‌పుట్ తీసుకుంటుంది.

04:12 "wc space 'left-angled bracket" space test1 dot txt" టైపు చేస్తే,
04:19 wc ఫైల్ test1 dot txtలోని వరుసలు, పదాలు మరియు అక్ష రాల సంఖ్యను తెలుపుతుంది.
04:27 "wc space test1 dot txt" అని టైప్ చేయండి
04:34 అదే ఫలితం వస్తుంది.
04:37 అయితే తేడా ఏమిటి?
04:39 "wc space test1dot txt" అని రాసినపుడు, కమాండ్ test1dot txt ఫైల్‌ను తెరచి చదువుతుంది.
04:46 కానీ "wc space 'left-angled bracket' test1 dot txt" అని రాసినపుడు, ఏ ఫైలు తెరుచుకోదు.
04:53 బదులుగా, అది standardin నుండి ఇన్‌పుట్ తీసుకోవడానికి ప్రయత్నిస్తుంది.
04:57 standardinను ఫైల్ test1dot txtకి డైరెక్ట్ చేసాం.
05:01 అందువలన కమాండ్ test1 నుండి రీడ్ చేస్తుంది.
05:04 నిజానికి standardinకు డేటా ఎక్కడ నుండి వస్తుందో తెలియదు.
05:10 కనుక, ప్రామాణిక ఇన్ పుట్ ఎలా రీడైరక్ట్ చేయాలో చూసాం.
05:12 standard output మరియు standard errorను ఏ విధంగా రీడైరక్ట్ చేయాలో చూద్దాం.
05:17 output లేదా errorను ఒక ఫైల్కు రీడైరక్ట్ చేయడానికి రెండు మార్గాలు ఉన్నాయి.
05:20 ఉదాహరణకు n అనేది file descriptorను సూచిస్తుందనుకోండి.

n సింగల్ రైట్-ఆంగల్డ్ బ్ర్యాకెట్ ఔట్ పుట్ (n single right-angled bracket output)ను file descriptor n నుండి ఒక ఫైల్‌కు బదిలీ చేస్తుంది.

05:29 మీకు ఫైల్‌ లో వ్రా యుటకు అధికారం ఉండాలి.
05:32 ఒకవేళ ఫైల్ ఉనికిలో లే కపోతే, అది సృష్టించబడుతుంది.
05:35 అది ఉనికిలో ఉంటే, సాధారణంగా ఏ విధమైన హెచ్చరిక లేకుండానే అందులో విషయాలు పోతాయి.
05:40 'n'డబల్ రైట్-ఆంగల్డ్ బ్ర్యాకెట్(' n 'double right-angled bracket') కూడా outputను file descriptor n నుండి ఫైల్కు రీడైరక్ట్ చేస్తుంది.
05:47 మరలా, మీకు ఫైల్‌ లో వ్రాయుటకు అధికారం ఉండాలి.
05:50 ఫైల్ ఉనికిలో లేకపోతే, అది సృష్టించబడుతుంది.
05:52 అది ఉనికిలో ఉంటే, ఉనికిలో ఉన్న ఫైల్‌కు అవుట్‌పుట్ కూర్చబడుతుంది.
05:59 n సింగిల్ రైట్ ఏంగిల్ బ్రాకెట్లోని లేదా, n డబుల్ రైట్ ఏంగిల్ బ్రాకెట్స్ లోని n file descriptorను సూచిస్తుంది.
06:05 అది వదలివేయబడితే, అప్పుడు standard output అనగా file descriptor 1 తీసుకోబడుతుంది.
06:10 అందుకే, ఒక right angle bracket మరియు 1 double right angle bracket ఒకటే.
06:15 కానీ error streamను రీడైరక్ట్ చేయడానికి, 2 right angle bracket లేదా 2 double right angle bracket ఉపయోగించాలి.
06:22 దీనిని ప్రయోగపూర్వకంగా చూద్దాం.
06:24 గత ఉదాహరణలో ఒక ఫైల్ లేదా standardin పై wc కమాండ్ యొక్క ఫలితం టెర్మినల్ పై ప్రదర్శిం పబడుతుందని చూశాం.
06:31 ఇది టెర్మినల్ వద్ద కనబడకూడదంటే ఏమి చేయాలి?
06:34 సమాచారాన్ని తరువాత వాడుటకు, దానిని ఫైల్‌లో స్టోర్ చేయాలనుకుంటాం.
06:38 అప్రమేయంగా wc దాని అవుట్‌పుట్‌ను standardoutలో రాస్తుంది.
06:42 Standardout డీఫాల్ట్ గా టెర్మినల్ లో కలుపబడి ఉంటుంది.
06:45 అందవలన అవుట్‌పుట్‌ను టెర్మినల్లో చూస్తాం.
06:48 అయితే standardoutను ఒక ఫైల్‌కు రీడైరక్ట్ చేయగలిగితే, wc కమాండ్ నుండి అవుట్‌పుట్ ఆ ఫైల్‌లో వ్రాయబడుతుంది.
06:57 "wc space test1 dot txt 'right-angled bracket' wc_results dot txt" అని వ్రాసి.
07:09 ఎంటర్ నొక్కండి.
07:11 ఇది నిజంగా జరిగిందా అని చూడటానికి మనం wc_results dot txtలోని విషయాలను c-a-t కమ్యాండ్ డిస్ప్లే చెయ్యవచ్చు.
07:23 అది జరిగింది.
07:24 ఒకవేళ, అదే డైరక్టరీలో మరొక ఫైల్ test2 ఉంటే.
07:30 మరలా test2 ఫైల్ తో కమ్యాండ్ను ఎగ్జిక్యూట్ చేయవచ్చు.

"wc space test2 dot txt 'right-angled bracket' wc_results dot txt" అని టైప్ చేద్దాం.

07:44 wc_results ఫైల్ లోని విషయాలు ఓవర్ రైట్ కావచ్చు.
07:48 మనం దానిని చూద్దాం.
07:56 దీనికి బదులుగా "wc space test1 dot txt 'right-angled bracket' twice wc underscore results dot txt" అని రాస్తే,
08:07 కొత్త వివరాలు అప్పటికే ఉనికిలో ఉన్న wc underscore results dot txt ఫైల్‌లో ఉన్న విషయాలను ఓవర్ రైట్ చేయవు, అవి అపెండ్ చేయబడతాయి.
08:15 దీనిని కూడా చూద్దాం.
08:26 standard error ను, రీడైరక్ట్ చేయడం కూడా ఇదే విధంగా చేయబడుతుంది.
08:29 ఒకే ఒక్క తేడా ఏంటంటే, రైట్-ఆంగల్డ్ బ్ర్యాకెట్ లేదా డబల్ రైట్-ఆంగల్డ్ బ్ర్యాకెట్ గుర్తుకు ముందు standard error యొక్క file descriptor సంఖ్యను తెలు పవలసి ఉంటుంది.
08:38 'aaa' అనే పేరుతో ఏ ఫైలూ ఉనికిలో లేదని మనకు తెలుసు, "wc space aaa" అని వ్రాయండి.
08:46 షెల్ “No such file or directory” అనే error చూపుతుంది.
08:50 మనకు స్క్రీన్ పై error messages రావడం ఇష్టం లేదనుకుందాం. వాటిని మరొక ఫైల్‌కు రీడైరక్ట్ చేయవచ్చు.
08:55 దీని కోసం "wc space aaa space 2 'right-anged bracket' errorlog dot txt" కమాండ్ ఇవ్వవచ్చు.
09:06 ఇప్పుడు టెర్మినల్ పై ఎర్రర్ కనిపించదు, కానీ అది errorlog dot txt ఫైల్‌లో రాయబడుతుంది.
09:12 దీనిని "cat space errorlog dot txt" కమాండ్ ద్వారా చూడవచ్చు.
09:22 "cat space bbb space 2 'right-angled bracket' errorlog dot txt" కమాండ్ ఇవ్వడం ద్వారా మరొక error చేసాననుకుంటే,
09:34 పాత error ఓవర్ రైట్ అయి కొత్త error కనిపిస్తుంది.
09:39 "cat space errorlog dot txt" చూడండి.
09:46 ఈ ఎర్రర్లను అన్నిటినీ మనం లిస్ట్ చేయాలంటే ఎలా?? "wc space aaa space 2 'right-angled bracket' twice errorlog dot txt" కమాండ్‌ను ఇవ్వాలి.
09:58 దీనిని cat commandను ఉపయోగించి పరిశీలిద్దాం.
10:06 standard out, standard in, standard error ఏవిధంగా రీడైరక్ట్ చేయబడ్డాయో మరియు వేర్వేరుగా మ్యానిప్యులేట్ చెయ్యబడ్డాయో చూసాం.

streamsను ఒకేసారి మార్చగలిగినపుడు, అంటే వేర్వేరు streams జతచేసినపుడు ఈ విషయం యొక్క వాస్తవ సామర్ధ్యం నిర్ధారించబడుతుంది.

10:20 ఈ ప్రక్రియ పైప్ లైనింగ్‌గా పిలువబడుతుంది.
10:22 కమాండ్ల యొక్క వరుసలను సృష్టించడానికి Pipes ఉపయోగిస్తాము.
10:25 ఒక పైప్, వరుసలోని ఒక కమాండ్ యొక్క అవుట్‌పుట్‌ను తరువాతి కమాండ్ యొక్క ఇన్‌పుట్‌తో కలుపుతుంది.
10:30 అది command1 vertical bar command2 hyphen option vertical bar command3 hyphen option1 hyphen option2 vertical bar command4 గా కనిపిస్తుంది.
10:46 ఉదాహరణకు ప్రస్తుత డైరక్టరీలోని ఫైళ్లు మరియు డైరక్టరీలు మొత్తం సంఖ్యను తెలుసుకోవాలంటే,
10:51 అందు కొరకు "ls space minus l" ప్రస్తుత డైరక్టరీలోని అన్ని ఫైళ్లు మరియు డైరక్టరీల జాబితాను చూపుతుంది అని మనకు తెలుసు.
10:58 ఒక ఫైల్ యొక్క అవుట్‌పుట్‌ను రీడైరక్ట్ చేయవచ్చు "ls space minus l 'right-angled bracket' files dot txt" కమాండు ద్వారా.
11:08 "cat space files dot txt" రన్ చేయండి.
11:14 ఇప్పుడు ప్రతిలైను ఒక ఫైల్ లేదా డైరక్టరీ యొక్క పేరు అవుతుంది.
11:17 ఈ ఫైల్ లోని మొత్తం వరుసలను లెక్కించాలంటే, files dot txtని ఉపయోగించవచ్చు.
11:24 దీనికి "wc space minus l files dot txt" కమాండ్‌ను ఉపయోగించవచ్చు.
11:32 మన పనికి ఉపయోగపడినప్పటికీ దీనితో కొన్ని సమస్యలు ఉన్నాయి.
11:35 ఇక్కడ files dot txt ఉన్నట్లు దీనికి ఒక మధ్యంతర ఫైల్ అవసరమౌతుంది.
11:40 ఒకవేళ మొదటి కమాండ్ చాలా సమాచారాన్ని తయారుచేసినట్లయితే, అది డిస్క్ మెమొరీని అనవసరంగా వృధా చేయవచ్చు.
11:46 అంతేకాక, అనేక వరుసలను కలపాలంటే, ఈ పద్ధతి చాలా నిదానంగా చేస్తుంది.
11:50 ఈ రకమైన పైప్‌లను ఉపయోగించడం ద్వరా, దీనిని తేలికగా చేయవచ్చు.

"ls space minus l 'vertical bar' wc space minus l" అని రాస్తాం.

12:01 ఇదే ఫలితాన్ని ఎంతో తేలికగా పొందవచ్చు.
12:06 ls కమాండ్ నుండి వచ్చిన అవుట్పుట్ wc కమాండ్ యొక్క ఇన్పుట్ అవుతుంది.
12:10 పైప్‌లను ఉపయోగించి కమాండ్ల యొక్క యింకా పొడవైన వరుసలను కలుపవచ్చు.
12:15 మల్టీపేజ్ డిస్ ప్లేలను చదవడం పైప్స్ యొక్క సాధారణ ఉపయోగం.
12:19 "cd space slash user slash bin" అని టైప్ చేయండి.
12:24 ఇప్పుడు బిన్ డైరక్టరీలో ఉన్నాం.
12:28 "ls minus l" రన్ చేయండి.
12:31 అవుట్‌పుట్‌ను సరిగా చూడలేము. కానీ ఒకటి లేదా అంతకంటే ఎక్కువ పైప్ లను కలిపి ఉపయోగించితే, దానిని చూడగలం.
12:37 జాబితాను స్క్రోల్ చేయడానికి ఎంటర్ నొక్కండి.
12:41 బయటకు రావడానికి "q" నొక్కండి.
12:45 ఇవి ఫైల్స్ తో పనిచేయడంలో మనకు సహాయపడే కొన్ని కమాండ్లు.
12:48 ఇంకా చాలా కమాండ్లు ఉన్నాయి.
12:50 అంతేకాక, రాసిన ప్రతి కమాండ్‌కి అనేక ఆప్షన్లు ఉన్నాయి.
12:54 man కమాండ్ ను ఉపయోగించి వీటి గురించి మరింత తెలుసుకోవాలని నేను మిమ్మల్ని ప్రోత్సహిస్తున్నాను.
1 2:58 కమాండ్లను నేర్చుకోవడానికి వాటిని మళ్ళి మళ్ళి ఉపయోగించడమే ఉత్తమమైన మార్గం.
13:04 దీనితో ఈ ట్యుటోరియల్ ముగింపుకు వచ్చాం.
13:07 స్పోకెన్ ట్యుటోరియల్ టాక్ టు ఎ టీచర్ ప్రాజెక్ట్‌లో భాగం, దీనికి ICT ద్వారా నేషనల్ మిషన్ ఆ న్ ఎడ్యుకేషన్ సహాయం అందిస్తోంది.
13:15 ఈ విషయం పై మరింత సమాచారం క్రింద ఉన్న లింక్‌లో ఉంది.
13:19 ఈ ట్యుటోరియల్ ను తెలుగు లోకి అనువదించింది శ్రీహర్ష ఏ ఎన్, నేను మాధురి మీ వద్ద సెలవు తీసుకుంటున్నాను.

Contributors and Content Editors

Madhurig, Udaya